Systems and methods for user matching

ABSTRACT

Systems and methods are provided herein for matching between a plurality of users. A computer-implemented method for matching between a plurality of users may be provided. The method may include receiving input data from a plurality of devices associated with the plurality of users, analyzing the input data to determine, for each user and life event, which step(s) on a timeline of the life event that each user (a) has experienced, (b) is currently experiencing, or (c) likely to experience in the future; and matching the plurality of users with one another.

CROSS-REFERENCE

This application claims the benefit of U.S. Provisional Application No.62/579,027 filed on Oct. 30, 2017 and U.S. Provisional Application No.62/579,780 filed on Oct. 31, 2017, which applications are incorporatedherein by reference in their entirety.

BACKGROUND

When people experience a significant life transition (SLT) or lifeevent, they often turn to one or more of the following sources ofinformation: (1) search engines, (2) social networks, (3) paidprofessionals, (4) friends and family, (5) content/media, and/or (6)support groups.

This has some shortcomings. For example, none of the information sourcesabove may be capable of providing proactive guidance to peopleundergoing SLTs. The information obtained through those informationsources may not be personalized. In many instances, a substantial partof the information may not even be relevant or applicable to a person.Furthermore, the practical wisdom of knowledgeable individuals may notbe easily accessible/available to those in need because it is typicallyembedded within a plethora of other irrelevant information. In addition,the existing information sources may not be capable of proactivelyproviding people with answers to questions that even they themselves donot know to ask. Nor are the existing information sources capable ofgenerating a map of milestones for the life event on a timeline that isrelevant and highly personalized to each person. Thus, existing softwaresolutions may not be personalized to match the person's needs. Althoughpaid professionals can provide professional advice (e.g., legal adviceor medical advice), they are often unable to address thenon-professional aspects (e.g., emotional well-being of the person)during the SLTs.

Additionally, when faced with new life events, people may often feellost since they may not know whom they can rely upon for adviceregarding the new life events. Traditional searches lack a step by stepstructure and cannot anticipate what and whom people should know.Despite an abundance of online “friends,” people still struggle to findtrustworthy people who have the same or similar sets of experiences.When people experience a life event, they may often want to connect withother users, who have either experienced, are currently experiencing, orare about to experience the same or similar steps, to assist one anotherin navigating the life event.

Thus, there is a need for systems and methods that can capture valuablecommunity wisdom, connect users with other users to assist one anotherin navigating different life events, and inform users on what they needto know, when they need to know certain information, thus helping themimprove management of significant life transitions (or events) in astep-wise fashion.

SUMMARY

In some instances, a user may be faced with an event such as asignificant life transition (“SLT”). During those moments, the user maylack the experience and tools to make informed decisions at anappropriate time, in a quick and efficient manner.

Accordingly, a need exists to identify a life event based on input fromthe user, and to determine a plurality of milestones or steps associatedwith the event. Another need exists to provide personalized insights tothe user to address each milestone or step. A further need exists toconnect users with other users, who have either experienced, arecurrently experiencing, or are about to experience the same milestonesor steps, to assist one another in navigating the life event. A furtherneed exists to help people take on life's experiences by relying on thewisdom of people who have been there (i.e. undergone those experiences).A further need exists to provide a platform that provides guidance tousers for a variety of life events, anticipating what and whom peopleshould know, every step of the way.

To achieve this, people's lives experiences may be crowdsourced intotimelines and steps, users may be mapped to their respective steps ondifferent timelines, and people may be matched with what and whom theyshould know and when they need to know certain information. To create aguide for life, people may yearn for an experienced and available personto connect to. The person can be someone one just like the user, someonewho knows the road ahead, someone who cares about what the user has beenthrough, someone who can connect the user to those others whom theyknow, someone the user wants to spend time with, and/or someone the userwants to talk to in order to seek advice on certain life events. Theconnections can be created through videos. The connections can also becreated by recruiting community leaders, evangelists, and endorsements.The connections can rise above social noise, with impactful videos. Thecrowdsourcing cycle may be a scalable, cross-vertical cycle which canconvert consumers to editors following the classic crowdsourcing model,wherein consumers may constitute 80%, contributors may constitute 18%,and editors may constitute 2% of the user base. Such cycle may generatethe supply and demand for timely experienced-based wisdom. In eachcycle, the timeline may be 100%, the chat of insight consumer may be40%, the chat of insight creator may be 20%, and the insightfulcontributions saved may be 6%. In each cycle, there may be guides andeditors, and timelines moderated community measured for “helpfulness.”Seeker and sharers of wisdom may create a community that is safer andmore rewarding than other online communities.

The different life journeys or events that users may crowdsource maycomprise mental illness, breast cancer, marriage, in vitro fertilization(“IVF”), autism, wellness, deaf and hard of hearing (“HOH”), chronicpain, lesbian, gay, bisexual, transgender and queer (“LGBTQ”),parenting, adoption, relocation, retirement, college, finding a dreamjob, among others. For adoption of a child, the various steps of thelife journey may comprise telling existing children that they are aboutto have siblings, raising funds for adoption, waiting for the call,locating a child independently, managing stress and anxiety, and meetingthe birth parents. For deafness or HOH, the various steps may compriseexperiencing sudden hearing loss, receiving a name sign, accepting aname sign, accepting a “no known cause” diagnosis, reading bodylanguage, managing stress and anxiety, and meeting the birth parents.For bipolar disorder, the various steps may comprise behavingrecklessly, denying something is wrong, grieving loss of manic episodes,enjoying remissions, relationship loss, and coping with the feeling ofinjustice of the condition.

According to some embodiments of the disclosure, a computer-implementedmethod for matching between a plurality of users is provided.

In an aspect, a computer-implemented method for matching between aplurality of users comprises: receiving input data from a plurality ofdevices associated with the plurality of users, wherein the input datacomprises queries, comments or insights from different users relating tothe one or more life events, wherein each life event comprises aplurality of different steps on a timeline; analyzing the input data todetermine, for each user and life event, which step(s) on the timelinethat each user (a) has experienced, (b) is currently experiencing, or(c) likely to experience in the future; and matching the plurality ofusers with one another, based on the life events and the steps that theusers have experienced, are currently experiencing, or likely toexperience in the future, in order to assist each user in navigating theone or more life events.

In some embodiments, receiving the input data comprises crowdsourcingthe input data from the users and information from a plurality ofexternal sources. In some embodiments, matching the plurality of userswith one another comprises comparing the users to one another based onthe steps on the individual timeline of each user. In some embodiments,matching the plurality of users with one another comprises matching (i)a first user who is likely to experience a selected step on the timelinein the future with (ii) a second user who has already experienced theselected step, or matching the second user with the first user.

In some embodiments, the method further comprises, after the first andsecond users are matched with one another: (1) providing arecommendation to the first user to connect with the second user andobtain insights about the selected step from the second user; and/or (2)providing a recommendation to the second user to connect with the firstuser to share insights about the selected step with the first user.

In some embodiments, matching the plurality of users with one anothercomprises matching (i) a first user who had already experienced aselected step on the timeline for a life event with (ii) a second userwho had also already experienced the selected step.

In some embodiments, the method further comprises, after the first andsecond users are matched with one another: providing a recommendation tothe first and second users to connect with one another to share theirpersonal experiences about the selected step.

In some embodiments, matching the plurality of users with one anothercomprises matching (i) a first user who is likely to experience aselected step on the timeline for a life event with (ii) a second userwho is also likely to experience the selected step.

In some embodiments, the method further comprises, after the first andsecond users are matched with one another: providing a recommendation tothe first and second users to connect with one another regarding theselected step. In some embodiments, the method further comprises:providing an electronic interface or platform for enabling the first andsecond users to connect with one another, after the first and secondusers are matched with one another.

In some embodiments, the recommendation to the first user is provided ona graphical display of a first device associated with the first user,and the recommendation to the second user is provided on a graphicaldisplay of a second device associated with the second user. In someembodiments, the recommendations are provided to the first and secondusers at substantially the same time. In some embodiments, therecommendations are provided to the first and second users at differenttime instances.

In some embodiments, the method further comprises: enabling the firstand second users to communicate with one another via the electronicinterface or platform, after the first and second users are connectedwith one another. In some embodiments, the electronic interface orplatform is configured to enable to the first and second users tocommunicate with one another substantially in real-time. In someembodiments, the method further comprises: monitoring a duration, level,or frequency of communications between the first and second users afterthey are connected with one another.

In some embodiments, the electronic interface or platform is configuredto allow the first and second users to connect by adding each other as anew contact. In some embodiments, the electronic interface or platformis configured to allow the first and second users to share comments,insights or experiences about the selected step with one another. Insome embodiments, the electronic interface or platform is configured toallow the first and second users to add additional comments, insights orexperiences about the selected step or other steps on the timeline forthe life event. In some embodiments, the electronic interface orplatform is configured to allow the first user to view the second user'sexperiences relating to the selected event, if the second user hasalready experienced the selected event. In some embodiments, theelectronic interface or platform is configured to allow the first andsecond users to view each other's experiences relating to the selectedevent, if both the first and second users have already experienced theselected event. In some embodiments, the electronic interface orplatform is configured to allow the first user to view the second user'stimeline and steps, and/or the second user to view the first user'stimeline and steps.

In some embodiments, the electronic interface or platform is configuredto allow the first user to view changes to the second user's timeline asthe second user undergoes the life event, or allow the second user toview changes to the first user's timeline as the first user undergoesthe life event. In some embodiments, the electronic interface orplatform is configured to allow the first and second user to viewchanges to each other's timeline as the first and second usersrespectively undergo the life event.

In some embodiments, the recommendation to the first user comprises afirst suggested conversation starter to connect with the second user,and the recommendation to the second user comprises a second suggestedconversation starter to connect with the first user. In someembodiments, the first suggested conversation starter is personalizedfor the first user, and the second suggested conversation starter ispersonalized for the second user. In some embodiments, the firstsuggested conversation starter is different from the second suggestedconversation starter. In some embodiments, the first and secondsuggested conversation starters are the same.

In some embodiments, the method further comprises: (1) matching thesecond user with a first group of users who are likely to experience theselected step, and (2) matching the first user with a second group ofusers who have already experienced the selected step. In someembodiments, the method further comprises: matching the first and secondusers with a group of users who have already experienced the selectedstep. In some embodiments, the method further comprises: matching thefirst and second users with a group of users who are likely toexperience the selected step. In some embodiments, the method furthercomprises: providing an electronic interface or platform configured toallow (1) the first user to connect with one or more users from thesecond group, and/or (2) the second user to connect with one or moreusers from the first group.

In some embodiments, the method further comprises: providing anelectronic interface or platform configured to allow the first andsecond users to connect with one or more users from the group of users.In some embodiments, the method further comprises: (1) providinginformation about the second group of users on a graphical display of afirst device associated with the first user, and/or (2) providinginformation about the first group of users on a graphical display of asecond device associated with the second user. In some embodiments, themethod further comprises: providing information about the group of userson a graphical display of a device associated with each of the first andsecond users.

In some embodiments, matching the plurality of users with one anothercomprises, for each life event: generating, for a first user, aplurality of scores relative to a second user, wherein the first andsecond users are undergoing the same life event; and using the pluralityof scores to determine a level of match of the second user to the firstuser.

In some embodiments, the method further comprises: determining whetherto provide a recommendation of the second user to the first user basedon the level of match. In some embodiments, the method furthercomprises: providing the recommendation to the first user when the levelof match is equal to or above a threshold. In some embodiments, therecommendation is not provided to the first user when the level of matchis below a threshold.

In some embodiments, the second user is not a current friend or contactof the first user. In some embodiments, the second user is new to thefirst user. In some embodiments, the first user comprises one or moreusers, and the second user comprises one or more users.

In some embodiments, the plurality of scores comprises a first scorebased on (i) a first set of steps experienced by the first user and (ii)a second set of steps experienced by the second user. In someembodiments, the first score is calculated based on a percentage of (a)a number of common steps between the first and second sets of steps over(b) a number of steps in the first set for the first user.

In some embodiments, the plurality of scores comprises a second scorebased on (i) a first set of steps experienced by the first user and (ii)a second set of steps that the second user is following and likely toexperience. In some embodiments, the second score is calculated based ona percentage of (a) a number of common steps between the first andsecond sets of steps over (b) a number of steps in the first set for thefirst user. In some embodiments, the plurality of scores comprises athird score based on (i) a first set of steps that the first user isfollowing and likely to experience and (ii) a second set of steps thatare experienced by the second user. In some embodiments, the third scoreis calculated based on a percentage of (a) a number of common stepsbetween the first and second sets of steps over (b) a number of steps inthe first set for the first user.

In some embodiments, the plurality of scores comprises a fourth scorethat is based on (i) first set of steps that the first user is followingand likely to experience and (ii) a second set of steps that the seconduser is following and likely to experience. In some embodiments, thefourth score is calculated based on a percentage of (a) a number ofcommon steps between the first and second sets of steps over (b) anumber of steps in the first set for the first user. In someembodiments, the first score, second score, third score, and fourthscore are calculated using in part a parameter that imposes a penalty onscore(s) that have lower absolute numbers of common steps. In someembodiments, the parameter is used to enhance score(s) that have higherabsolute numbers of common steps.

In some embodiments, the method further comprises: transforming thefirst score, second score, third score, and fourth score respectivelyinto a first metric, a second metric, a third metric, and a fourthmetric that are normalized with respect to one another. In someembodiments, the transformation of the scores into the metrics allowsscore biases to be reduced.

In some embodiments, the method further comprises: comparing two or morethe first, second, third, and fourth metrics to determine the level ofmatch of the second user to the first user. In some embodiments, themethod further comprises: comparing only the first, second, and thirdmetrics to determine the level of match of the second user to the firstuser. In some embodiments, the method further comprises: comparing allof the first, second, third, and fourth metrics to determine the levelof match of the second user to the first user.

In some embodiments, the method further comprises: comparing values oftwo or more of the first, second, third, and fourth metrics; and usingthe metric with the highest value to determine the level of match of thesecond user to the first user. In some embodiments, the plurality ofscores are generated or updated substantially in real-time as the firstuser and/or the second user are experiencing different steps in the lifeevent. In some embodiments, the level of match is determined or updatedsubstantially in real-time as the first user and/or the second user areexperiencing different steps in the life event.

In an aspect, a computer-implemented system for matching between aplurality of users comprises: a server in communication with a pluralityof devices associated with the plurality of users; and a memory storinginstructions that, when executed by the server, cause the server toperform operations comprising: receiving input data from the pluralityof devices, wherein the input data comprises queries, comments orinsights from different users relating to the one or more life events,wherein each life event comprises a plurality of different steps on atimeline; analyzing the input data to determine, for each user and lifeevent, which steps on the timeline that each user (a) has experienced,(b) is currently experiencing, or (c) likely to experience in thefuture; and matching the plurality of users with one another, based onthe life events and the steps that the users have experienced, arecurrently experiencing, or likely to experience in the future, in orderto assist the users in navigating one or more life events.

In an aspect, a non-transitory computer-readable storage medium includesinstructions that, when executed by a server, cause the server toperform operations comprising: receiving input data from the pluralityof devices, wherein the input data comprises queries, comments orinsights from different users relating to the one or more life events,wherein each life event comprises a plurality of different steps on atimeline; analyzing the input data to determine, for each user and lifeevent, which steps on the timeline that each user (a) has experienced,(b) is currently experiencing, or (c) likely to experience in thefuture; and matching the plurality of users with one another, based onthe life events and the steps that the users have experienced, arecurrently experiencing, or likely to experience in the future, in orderto assist the users in navigating one or more life events.

It shall be understood that different aspects of the invention can beappreciated individually, collectively, or in combination with eachother. Various aspects of the invention described herein may be appliedto any of the particular applications set forth below or for any othertypes of energy monitoring systems and methods.

Other objects and features of the present invention will become apparentby a review of the specification, claims, and appended figures.

INCORPORATION BY REFERENCE

All publications, patents, and patent applications mentioned in thisspecification are herein incorporated by reference to the same extent asif each individual publication, patent, or patent application wasspecifically and individually indicated to be incorporated by reference.

BRIEF DESCRIPTION OF THE DRAWINGS

The novel features of the invention are set forth with particularity inthe appended claims. A better understanding of the features andadvantages of the present invention will be obtained by reference to thefollowing detailed description that sets forth illustrative embodiments,in which the principles of the invention are utilized, and theaccompanying drawings of which:

FIG. 1 illustrates an exemplary network layout, in accordance with someembodiments;

FIG. 2 illustrates an exemplary timeline window, in accordance with someembodiments;

FIG. 3 illustrates an exemplary SLT map, in accordance with someembodiments;

FIG. 4 illustrates exemplary user interfaces, in accordance with someembodiments;

FIG. 5 illustrates exemplary user interfaces, in accordance with somefurther embodiments;

FIG. 6 illustrates exemplary user interfaces, in accordance with somefurther embodiments;

FIG. 7 illustrates exemplary user interfaces, in accordance with somefurther embodiments;

FIG. 8 illustrates an exemplary insights curation list, in accordancewith some embodiments;

FIG. 9A illustrates exemplary user interfaces regarding matching usersthrough a buddy program, in accordance with some embodiments;

FIG. 9B illustrates some other exemplary user interfaces regardingmatching users through a buddy program, in accordance with someembodiments;

FIG. 9C illustrates some other exemplary user interfaces regardingmatching users through a buddy program, in accordance with someembodiments;

FIG. 10 shows an example of monthly increase in contribution, driven bymatching optimization;

FIG. 11 shows an example of monthly increase in meaningfulconversations, driven by superior matching;

FIG. 12 shows exemplary connections among different steps regardinganxiety;

FIG. 13 shows exemplary connections among different steps regardinglesbian, gay, bisexual, and transgender (“LGBTQ”);

FIG. 14 shows exemplary connections provided by predictive methods;

FIG. 15 shows an example of life's most intense junctions;

FIG. 16 shows an example of finding someone “have been” to becoming amom;

FIG. 17A shows exemplary methods used by the user matching platform, inaccordance with some embodiments;

FIG. 17B shows an example of conversation coded by type;

FIG. 18 shows an example of user base;

FIG. 19 shows an example of emotional states of the users;

FIG. 20A shows an example of persona sensitive notification cycle forKirsten;

FIG. 20B shows the same example of persona sensitive notification cyclefor Kirsten;

FIG. 21 shows a computer control system that is programmed or otherwiseconfigured to implement methods provided herein;

FIG. 22 illustrates the statistics of the match success of a matchbetween a second user and a first user as a function of a plurality offeatures;

FIG. 23A illustrates for a plurality of users is match success of amatch between a second user and a first user (Y) as a function of theaverage number of threads the second user replied to;

FIG. 23B illustrates for a plurality of users the match success of amatch between a second user and a first user (Y) as a function of thetotal number of threads the second user started;

FIG. 23C illustrates for a plurality of users the match success of amatch between a second user and a first user involving each user (Y) asa function of the average number of threads the user started;

FIG. 24 illustrates data representing importance of users sharingparticular top journeys match success of a match between a second userand a first user;

FIG. 25 illustrates conversation initiation and reply statistics basedon user gender;

FIG. 26 illustrates an example of the relationship between thecompletion of a biography and the closeness of conversation between thetwo users;

FIG. 27 illustrates the relationship between country of residence of therecommended user in an application or platform wherein a methoddescribed herein was used to recommend the user to another user was andthe goodness of conversation between two users; and

FIG. 28 illustrates the quality of a user as a function of four metrics.

DETAILED DESCRIPTION

Reference will now be made in detail to some exemplary embodiments ofthe invention, examples of which are illustrated in the accompanyingdrawings. Wherever possible, the same reference numbers will be usedthroughout the drawings and disclosure to refer to the same or likeparts.

Introduction

In life, people may experience a variety of significant life transitions(SLTs) or life events. SLTs can occur in series or in parallel. They canoccur as a consequence of a previous or simultaneous SLT. SLTs may becharacterized as, or result in, a journey in an individual's life. Suchjourney can be long or short. They can be simple or complex. A journeycan include one or multiple milestones, steps, or phases. A milestone asdescribed herein may be referred to interchangeably as a step. A SLT asdescribed herein may be referred to interchangeably as a life event or alife journey. A SLT can result in other SLTs or journeys (e.g., loss ofa partner can lead to depression or other mental illness). Non-limitingexamples of SLTs may include starting and/or attending college, startinga new career, getting married, having children, starting a business,getting divorced, retirement, relocation, or being diagnosed with aserious/chronic illness.

When an SLT occurs, one generally lacks the required experience to makethe best decisions, at the right time, quickly and efficiently. Indeed,when one searches the Internet for information to help one make theright decisions, one may find the information available to beunstructured, not personalized, not fitting to the specific problem orissue at hand, and/or nor available in a timely manner. Additionally, itmay be difficult for one to find and connect with other users who haveeither experienced, are currently experiencing, or are about toexperience the same or similar steps in a life event, to shareexperiences and/or learn from one another.

The present disclosure can address at least the above problems, byproviding a user matching platform that can match between a plurality ofusers and make collective community (crowdsourced) wisdom accessible toa user in need of such advice. The term “user” or “end user” as usedherein may refer to individuals who are about to go through, arecurrently going through, an event such as a significant life transition.These are individuals who may generally need help with navigating thelife event. Wisdom as used herein may refer to time-sensitive,location-dependent, and content appropriate advice on what a personshould know regarding a life event and/or any of its milestones orsteps. Wisdom may include insights and advice from other people who haveexperienced or are currently experiencing the same or similar steps inthe life event. In particular, the system and method disclosed hereincan connect a user with other users and provide users with informationthey need to know, when they need to know it, as the users go throughdifferent milestones or steps of a life event. Accordingly, the systemand methods disclosed herein can help users to make informed decisions,and help them to optimally navigate through the life events by allowingthem to sharing their needs, questions, comments, and insights withother uses, and obtain insights from other users who are at differentmilestones during the same life journey.

User Matching Platforms

In an aspect, a user matching platform is provided. The platform may beconfigured to perform a computer-implemented method for matching betweena plurality of users. The method may comprise receiving input data froma plurality of devices associated with the plurality of users. The inputdata may comprise queries, comments or insights from different usersrelating to the one or more life events. Each life event may comprise aplurality of different steps on a timeline. The method may also compriseanalyzing the input data to determine, for each user and life event,which step(s) on the timeline that each user (a) has experienced, (b) iscurrently experiencing, or (c) likely to experience in the future. Themethod may further comprise matching the plurality of users with oneanother, based on the life events and the steps that the users haveexperienced, are currently experiencing, or likely to experience in thefuture, in order to assist each user in navigating the one or more lifeevents.

The number of the plurality of users may be at least about 10, 50, 100,200, 300, 400, 500, 600, 700, 800, 900, 1000, 2000, 3000, 4000, 5000,6000, 7000, 8000, 9000, 10,000, 20,000, 30,000, 40,000, 50,000, 60,000,70,000, 80,000, 90,000, 100,000, 1000000, 100000000, or greater. Inother instances, the number of the plurality of users may be at mostabout 100,000, 90,000, 80,000, 70,000, 60,000, 50,000, 40,000, 30,000,20,000, 10,000, 9000, 8000, 7000, 6000, 5000, 4000, 3000, 2000, 1000,900, 800, 700, 600, 500, 400, 300, 200, 100, 50, 10, or less.

The plurality of devices may comprise any type of device, for example,but not limited to, consumer electronics, telecommunication devices, ormedical equipment. The consumer electronics may comprise TVs, photoequipment and accessories, cameras (video or film), speaker, radio/hi-fisystems, or video projectors. The telecommunication devices may comprisemobile phones, modems, router, phone cards, or telephones. The medicalequipment may comprise stethoscope, suction device, thermometer, tonguedepressor, transfusion kit, tuning fork, ventilator, watch, stopwatch,weighing scale, crocodile forceps, bedpan, cannula, cardioverter,defibrillator, catheter, dialyzer, electrocardiograph machine, enemaequipment, endoscope, gas cylinder, gauze sponge, hypodermic needle,syringe, infection control equipment, an oximeter or oximeters thatmonitors oxygen levels of the user, instrument sterilizer, kidney dish,measuring tape, medical halogen penlight, nasogastric tube, nebulizer,opthalmoscope, otoscope, oxygen mask and tubes, pipette, dropper,proctoscope, reflex hammer, and sphygmomanometer. The device may be anelectronic device. The electronic device may comprise a portableelectronic device. The electronic devices may be mobile phones, PCs,tablets, printers, consumer electronics, and appliances. The number ofthe plurality of devices may be at least about 10, 50, 100, 200, 300,400, 500, 600, 700, 800, 900, 1000, 2000, 3000, 4000, 5000, 6000, 7000,8000, 9000, 10,000, 20,000, 30,000, 40,000, 50,000, 60,000, 70,000,80,000, 90,000, 100,000, or greater. In other instances, the number ofthe plurality of devices may be at most about 100,000, 90,000, 80,000,70,000, 60,000, 50,000, 40,000, 30,000, 20,000, 10,000, 9000, 8000,7000, 6000, 5000, 4000, 3000, 2000, 1000, 900, 800, 700, 600, 500, 400,300, 200, 100, 50, 10, or less.

The input data may comprise queries, comments or insights from differentusers relating to the one or more life events. The input data mayfurther include data that is directly inputted by the user. In someembodiments, the input data may be a question. Alternatively, the inputdata may be an online social interaction. In some embodiments, the inputdata may comprise questions, answers, comments, and/or insights in theform of text, audio, video, and/or photographs that are (1) provided bythe plurality of users and (2) associated with the one or more lifeevents. The input data may also be obtained from a social media or asocial networking website visited by the plurality of users. In someembodiments, the input data may be analyzed using a natural languageprocessing (NLP) algorithm, as described elsewhere herein. In someembodiments, the input data may further comprise information indicativeof the physical locations of the plurality of users. The physicallocations of the users are extracted from the input data, as describedelsewhere herein. The information indicative of the physical locationsof the users may be dynamically updated in real-time as the users movebetween different places.

The input data may be categorized based on the one or more life events.For instance, the input data may comprise data related to startingand/or attending college, starting a new career, getting married, havingchildren, starting a business, getting divorced, retirement, relocation,or being diagnosed with a serious/chronic illness.

The input data may be stored in a database. A database can be stored incomputer readable format. A computer processor may be configured toaccess the data stored in the computer readable memory. A computersystem may be used to analyze the data to obtain a result. The resultmay be stored remotely or internally on storage medium and communicatedto users. The computer system may be operatively coupled with componentsfor transmitting the result. Components for transmitting can includewired and wireless components. Examples of wired communicationcomponents can include a Universal Serial Bus (USB) connection, acoaxial cable connection, an Ethernet cable such as a Cat5 or Cat6cable, a fiber optic cable, or a telephone line. Examples of wirelesscommunication components can include a Wi-Fi receiver, a component foraccessing a mobile data standard such as a 3G or 4G LTE data signal, ora Bluetooth receiver. In some embodiments, all data in the storagemedium are collected and archived to build a data warehouse. In someembodiments, the database may comprise an external database.

Each life event may comprise a plurality of different steps on atimeline. It should be noted that the term “life events” as used hereinmay be referred to interchangeably as significant life transitions(SLTs). Similarly, the term “steps” as used herein may be referred tointerchangeably as milestones. For instance, if the life event isrelocation, the steps may comprise, but are not limited to, finding thedesired relocation place, finding a place to live in the relocationplace, connecting with friends or family members in the relocationplace, selling the current house before relocation, booking thetransportation to the relocation place, contacting a moving company,cleaning the current house, arriving at the relocation place. A timelinewith different milestones may be generated specific to the user's needs.Each milestone on the user's timeline may include questions and insightsaddressing those questions. The number of the plurality of differentsteps may be at least about 1, 5, 10, 15, 20, 25, 30, 35, 40, orgreater. In other instances, the number of the plurality of differentsteps may be at most about 40, 35, 30, 25, 20, 15, 10, 5, or less.

The analyzing process may comprise analyzing the input data todetermine, for each user and life event, which step(s) on the timelinethat each user (a) has experienced, (b) is currently experiencing, or(c) likely to experience in the future.

The matching may comprise matching the plurality of users with oneanother, based on the life events and the steps that the users haveexperienced, are currently experiencing, or likely to experience in thefuture, in order to assist each user in navigating the one or more lifeevents. The matching may comprise matching users who have experiencedcertain life events or steps, with one or more other users who have alsoexperienced the same life events. The matching may also comprisematching users who have experienced certain life events or steps, withone or more others users who are currently experiencing the same lifeevents or steps. The matching may also comprise matching users who haveexperienced certain life events or steps, with one or more users who arelikely to experience in the future the same life events or steps. Thematching may also comprise matching users who are currently experiencingcertain life events or steps, with one or more other users who arecurrently experiencing the same life events or steps. The matching mayalso comprise matching users who are currently experiencing certain lifeevents or steps, with one or more other users who are likely toexperience in the future the same life events or steps. The matching mayalso comprise matching users who are likely to experience certain lifeevents or steps in the future, with one or more other users who arelikely to experience in the future the same life events or steps. Anymatching between different users, who are at the same or different stepsof a life event (or multiple life events), may be contemplated inaccordance with the embodiments disclosed herein.

Receiving the input data may comprise crowdsourcing the input data fromthe users and information from a plurality of external sources. Thenumber of the plurality of external sources may be at least about 1, 5,10, 15, 20, 25, 30, 35, 40, or greater. In other instances, the numberof the plurality of external sources may be at most about 40, 35, 30,25, 20, 15, 10, 5, or less. The external sources may comprise a websitechannel, email channel, text message channel, Facebook channel, TwilioSMS channel, Skype channel, Slack channel, WeChat channel, Telegramchannel, Viber channel, Line channel, Microsoft Team channel, CiscoSpark channel, Amazon Chime channel, among others.

Matching the plurality of users with one another may comprise comparingthe users to one another based on the steps on the individual timelineof each user. The comparing may comprise comparing users who haveexperienced the life events or steps, with one or more other differentusers who have also experienced the same life events. Additionally oroptionally, the comparing may comprise comparing users who haveexperienced the life events or steps, with one or more different userswho are experiencing the same life events or steps. Additionally oroptionally, the comparing may comprise comparing users who haveexperienced the life events or steps, with one or more different userswho are likely to experience in the future the same life events orsteps. Additionally or optionally, the comparing may comprise comparingusers who are currently experiencing the life events or steps, with oneor more different users who are experiencing the same life events orsteps. Additionally or optionally, the comparing may comprise comparingusers who are currently experiencing the life events or steps, with oneor more different users who are likely to experience in the future thesame life events or steps. Additionally or optionally, the comparing maycomprise comparing users who are likely to experience the life events orsteps in the future, with one or more different users who are likely toexperience in the future the same life events or steps.

The method may further comprise providing an electronic interface orplatform for enabling the first and second users to connect with oneanother, after the first and second users are matched with one another.The electronic interface or platform may comprise graphical userinterfaces. The graphical user interfaces (GUIs) may comprise timelines,milestones, and insights/recommendations. Any number of timelines,milestones and insights/recommendations may be contemplated. The GUIsmay be rendered on a display screen on a user device. A GUI is a type ofinterface that allows users to interact with electronic devices throughgraphical icons and visual indicators such as secondary notation, inaddition to text-based interfaces, typed command labels or textnavigation. The actions in a GUI are usually performed through directmanipulation of the graphical elements. In addition to computers, GUIscan be found in hand-held devices such as MP3 players, portable mediaplayers, gaming devices and smaller household, office and industryequipment. The GUIs may be provided in a software, a softwareapplication, a web browser, etc. The GUIs may be displayed on a userdevice. Examples of such GUIs are illustrated in FIGS. 4 through 11, asdescribed elsewhere herein.

A recommendation to the first user (e.g. for the first user to connectwith a second user) may be provided on a graphical display of a firstdevice associated with the first user. Similarly, a recommendation tothe second user (e.g. for the second user to connect with the firstuser) may be provided on a graphical display of a second deviceassociated with the second user. The recommendations may be provided tothe first and second users at substantially the same time.Alternatively, the recommendations may be provided to the first andsecond users at different time instances.

The method as disclosed herein may further comprise enabling the firstand second users to communicate with one another via the electronicinterface or platform, after the first and second users are connectedwith one another. The connection can be connected through wired andwireless components. Examples of wired communication components caninclude a Universal Serial Bus (USB) connection, a coaxial cableconnection, an Ethernet cable such as a Cat5 or Cat6 cable, a fiberoptic cable, or a telephone line. Examples of wireless communicationcomponents can include a Wi-Fi receiver, a component for accessing amobile data standard such as a 3G or 4G LTE data signal, or a Bluetoothreceiver.

The electronic interface or platform may be configured to enable thefirst and second users to communicate with one another substantially inreal-time.

The method may further comprise monitoring a duration, level, orfrequency of communications between the first and second users afterthey are connected with one another. The duration of communicationbetween the first and second users after they are connected with oneanother may be at least 1 day, 1 week, 1 month, 1 quarter, 1 year orlonger. In some cases, the duration of communication between the firstand second users after they are connected with one another may be atmost 1 year, 1 quarter, 1 month, 1 week, 1 day or shorter. The level ofcommunication between the first and second users after they areconnected with one another may comprise the level of involvement incontribution of answers between the users. The frequency ofcommunication between the first and second users after they areconnected with one another may be once per day, once per week, once permonth, once per quarter, or once per year.

The electronic interface or platform may be configured to allow thefirst and second users to connect by adding each other as a new contact.The electronic interface or platform may be a social network. A socialnetwork can be a social structure comprising at least one set of socialentities (such as, e.g., individuals or organizations). The socialnetwork may have a set of dyadic ties or connections (or links) betweenthese entities. Such ties or connections may be complex (e.g., firstdegree connections, second degree connections, third degree connections,one-to-one relationships, one-to-many relationships, many-to-onerelationships, etc.). A social network can include various networks inwhich a user can interact with other users, such as a social groupnetwork, education network, and/or work network. A social network of auser can be characterized by, for example, a contacts list (e.g.,address book, email contacts list) or a social media network (e.g.,Facebook® friends list, Google+® friends list, LinkedIn® contacts,Twitter® Following list, Line® friends, etc.) of the user. For example,a social network of a user can be a contacts list for a messaging (e.g.,chatting, instant messaging, etc.) service. The social networking systemmay comprise one or more processors and a memory communicatively coupledto the one or more processors to enable one or more online-based socialnetworks between users. For example, for each user of the socialnetworking system, the social networking system may store the user'scontacts list and the user's social media network. A user that is amember of a social networking system may have a unique profile with thesocial networking system. The social networking system may further storeand/or track the user's activities on the social networking system.

The electronic interface or platform may be configured to allow thefirst and second users to share comments, insights or experiences abouta selected step with one another. The electronic interface or platformmay be configured to allow the first and second users to add additionalcomments, insights or experiences about the selected step or other stepson the timeline for the life event. For example, a person going througha SLT of having been diagnosed with cancer may wonder how to proceedwith treatment. A journey to overcome cancer thus begins. The individualcan “ask” the community for advice about cancer treatment. Variousmembers of the community may make comments regarding the cancertreatment. The individual can then select other members for furtherinformation or comments. The application or platform disclosed hereincan also collect the comments as data and filter out the relevantinformation. For example, the relevant information may pertain to thespecific type and stage of cancer that the person is going through. Inaddition, the application or platform disclosed herein may collect otherrelevant information on cancer treatment from reputable sources such asthe American Cancer Society.

The electronic interface or platform may be configured to allow thefirst user to view the second user's experiences relating to theselected event, if the second user has already experienced the selectedevent. The electronic interface or platform may be configured to allowthe first user to view the second user's experiences relating to theselected event, if the second user is currently experiencing theselected event.

The electronic interface or platform may be configured to allow thefirst and second users to view each other's experiences relating to theselected event, if both the first and second users have alreadyexperienced the selected event. The electronic interface or platform maybe configured to allow the first and second users to view each other'sexperiences relating to the selected event, if both the first and secondusers are currently experiencing the selected event. The electronicinterface or platform may be configured to allow the first and secondusers to view each other's experiences relating to the selected event,if both the first and second users are likely to experience the selectedevent.

The electronic interface or platform may be configured to allow thefirst user to view the second user's timeline and steps, and/or thesecond user to view the first user's timeline and steps. The electronicinterface or platform may be configured to allow the first user to viewchanges to the second user's timeline as the second user undergoes thelife event, or allow the second user to view changes to the first user'stimeline as the first user undergoes the life event. The electronicinterface or platform may be configured to allow the first and seconduser to view changes to each other's timeline as the first and secondusers respectively undergo the life event.

The method as disclosed herein may further comprise: (1) matching thesecond user with a first group of users who are likely to experience theselected step, and (2) matching the first user with a second group ofusers who have already experienced the selected step. The method mayfurther comprise: (1) matching the second user with a first group ofusers who are experiencing the selected step, and (2) matching the firstuser with a second group of users who have already experienced theselected step. The method may further comprise: (1) matching the seconduser with a first group of users who have experienced the selected step,and (2) matching the first user with a second group of users who havealready experienced the selected step.

The method may comprise providing an electronic interface or platformconfigured to allow (1) the first user to connect with one or more usersfrom the second group, and/or (2) the second user to connect with one ormore users from the first group. The method may further comprise (1)providing information about the second group of users on a graphicaldisplay of a first device associated with the first user, and/or (2)providing information about the first group of users on a graphicaldisplay of a second device associated with the second user. The firstgroup may comprise a plurality of users that have experienced, arecurrently experiencing, or likely to experience the selected step. Thesecond group may comprise a plurality of users that have experienced,are currently experiencing, or likely to experience the selected step.The user in the first group may be different from the user in the secondgroup.

User Matching Methods Categories Been-Follow/Follow-Been

In some embodiments, matching the plurality of users with one anothermay comprise matching (i) a first user who is likely to experience aselected step on the timeline in the future with (ii) a second user whohas already experienced the selected step, or matching the second userwith the first user. The method may further comprise, after the firstand second users are matched with one another: (1) providing arecommendation to the first user to connect with the second user andobtain insights about the selected step from the second user; and/or (2)providing a recommendation to the second user to connect with the firstuser to share insights about the selected step with the first user.

For instance, a first user may be likely or looking to find a new job asan accountant in a month, and the second user had just found a new jobas an accountant two weeks ago. The first user can be matched with thesecond user through the user matching method so the first user canobtain advice from the second user regarding how to find a job as anaccountant.

Been-Been

In some embodiments, matching the plurality of users with one anothermay comprise matching (i) a first user who had already experienced aselected step on the timeline in the future for a life event with (ii) asecond user who had also already experienced the selected step. Themethod may comprise, after the first and second users are matched withone another: providing a recommendation to the first and second users toconnect with one another to share their personal experiences about theselected step.

For instance, both the first user and the second user have alreadyovercome anxiety, and they are matched through the user matchingplatform. After the matching, the first user and the second user canshare experience with each other regarding how they overcame anxiety.

Follow-Follow

In some embodiments, matching the plurality of users with one anothermay comprise matching (i) a first user who is likely to experience aselected step on the timeline for a life event with (ii) a second userwho is also likely to experience the selected step. The method mayfurther comprise, after the first and second users are matched with oneanother: providing a recommendation to the first and second users toconnect with one another regarding the selected step.

For instance, both the first user and the second user are likely torelocate next month, and they are matched through the user matchingplatform. After the matching, the first user and the second user canshare experience with each other regarding the preparation of therelocation.

In some instances, the recommendation to the first user may comprise afirst suggested conversation starter to connect with the second user,and the recommendation to the second user may comprise a secondsuggested conversation starter to connect with the first user. The firstsuggested conversation starter may be personalized for the first user,and the second suggested conversation starter may be personalized forthe second user. The first suggested conversation starter may bedifferent from the second suggested conversation starter. The first andsecond suggested conversation starters may be the same. The method mayfurther comprise matching the first and second users with a group ofusers who have already experienced the selected step.

In some embodiments, the method may further comprise: matching the firstand second users with a group of users who are likely to experience theselected step. The method may further comprise providing an electronicinterface or platform configured to allow the first and second users toconnect with one or more users from the group of users. The method mayfurther comprise providing information about the group of users on agraphical display of a device associated with each of the first andsecond users. The information about the group of users may comprise thenumber of the users in the group, the geographic locations of the userof the group, the pictures of the users in the group, the hobbies of theusers in the group, and the life events each user in the group has beenthrough.

Algorithm

In some embodiments, matching the plurality of users with one anothermay comprise, for each life event: generating, for a first user, aplurality of scores relative to a second user, wherein the first andsecond users are undergoing the same life event; and using the pluralityof scores to determine a level of match of the second user to the firstuser.

The method may further comprise: determining whether to provide arecommendation of the second user to the first user based on the levelof match. The method may further comprise: providing the recommendationto the first user when the level of match is equal to or above athreshold. The recommendation may not be provided to the first user whenthe level of match is below a threshold.

The second user may not be a current friend or contact of the firstuser. The second user may be new to the first user. In some instance,the first user and the second user may be provided in plurality. Forexample, the first user may comprise one or more users, and the seconduser may comprise one or more users. The plurality of scores maycomprise a first score based on (i) a first set of steps experienced bythe first user and (ii) a second set of steps experienced by the seconduser.

The first score may be calculated based on a percentage of (a) a numberof common steps between the first and second sets of steps over (b) anumber of steps in the first set for the first user. The plurality ofscores may comprise a second score based on (i) a first set of stepsexperienced by the first user and (ii) a second set of steps that thesecond user is following and likely to experience. The second score maybe calculated based on a percentage of (a) a number of common stepsbetween the first and second sets of steps over (b) a number of steps inthe first set for the first user. The plurality of scores may comprise athird score based on (i) a first set of steps that the first user isfollowing and likely to experience and (ii) a second set of steps thatare experienced by the second user. The third score may be calculatedbased on a percentage of (a) a number of common steps between the firstand second sets of steps over (b) a number of steps in the first set forthe first user. The plurality of scores may comprise a fourth score thatis based on (i) first set of steps that the first user is following andlikely to experience and (ii) a second set of steps that the second useris following and likely to experience. The fourth score may becalculated based on a percentage of (a) a number of common steps betweenthe first and second sets of steps over (b) a number of steps in thefirst set for the first user. The first score, second score, thirdscore, and fourth score may be calculated using in part a parameter thatimposes a penalty on score(s) that have lower absolute numbers of commonsteps. The parameter may be used to enhance score(s) that have higherabsolute numbers of common steps.

The method may further comprise: transforming the first score, secondscore, third score, and fourth score respectively into a first metric, asecond metric, a third metric, and a fourth metric that are normalizedwith respect to one another. Statistical techniques may be used for thetransformation. The statistical techniques may comprise linearregression, classification, resampling methods, subset selection,shrinkage, dimension reduction, nonlinear models, tree-based methods,support vector machines, and unsupervised learning The transformation ofthe scores into the metrics may allow score biases to be reduced.

The method may further comprise: comparing two or more of the first,second, third, and fourth metrics to determine the level of match of thesecond user to the first user. In some cases, the method may comprise:comparing only the first, second, and third metrics to determine thelevel of match of the second user to the first user. In some cases, themethod may comprise: comparing all of the first, second, third, andfourth metrics to determine the level of match of the second user to thefirst user. In some cases, the method may comprise: comparing values oftwo or more of the first, second, third, and fourth metrics; and usingthe metric with the highest value to determine the level of match of thesecond user to the first user. The plurality of scores may be generatedor updated substantially in real-time as the first user and/or thesecond user are experiencing different steps in the life event. Thelevel of match may be determined or updated substantially in real-timeas the first user and/or the second user are experiencing differentsteps in the life event.

In some embodiments, the method may comprise providing a matchingalgorithm. The matching algorithm may be optimized for relevancy. Amatch ranking algorithm may comprise an inventory step, signal step, andprediction step. The inventory step may comprise questions or queriesregarding who is available, that the user has not met, and the user hasbeen in steps on a timeline that other users are currently following.The signal step may comprise questions or queries regarding activitylevel, helpfulness to other users, persona type matching, communityfeedback, tone and language, and track record. The prediction step maycomprise questions or queries regarding likelihood to connect,likelihood of starting a conversation, likelihood of liking/disliking,and likelihood of obtaining help advice. These indicators may becombined into a match relevancy score.

The 1:1 match success may be determined by one or more of the followingfactors: did the user connect; did they start a 1:1 conversation; firstconversation engagement:number of messages, positive tone and language,length of time; interaction frequency; reaction to each other's publiccontributions; and referral to one another in group chats. The 1:group(i.e. one-to-many) match success for passive listeners may be determinedby retention:return frequency; and engagement (e.g., reactions tocontributions). The 1:group (i.e. one-to-many) match success for activeparticipants may be determined by first conversation engagement (e.g.,number of messages, positive tone and language, length of time);interaction frequency; and level of contribution.

The group chat features may comprise a plurality of details. Theplurality of details may comprise: number of users per group,self-provisioning, public and private, moderated and unmoderated,suggested members, group hours, suggested groups, active indicator,group membership, groups by type, matching criteria, light bulb cycle,administrative role and rights, and moderator role and rights.

For number of users per group, the number of users that can be in agroup may not be restricted. There may be optimal numbers of users pergroup. In some cases, there may not be optimal numbers of users pergroup. When a group grows to a point where it has so many users that theconversation degrades in quality, it may become difficult for users tofollow and be overactive. In this situation, the user matching platformcan: a) do nothing, and users can start other groups if they want asmaller, more intimate conversation that doesn't have big group issues;or b) intervene and prompt users to suggest that they form a new smallergroup; or c) allow users to create private groups that requirepermission to join. This may cap the number of users allowed and make iteasier for groups to minimize issues associated with large groups.

For self-provisioning, users can create their own new group chats. Agroup may include 3 or more people having a conversation. For public andprivate, users can select what type of group chat they want to create.For moderated and unmoderated, users can select if they want to have amoderator or not. For suggested members, administrative and moderatorscan see a list of suggested members who are a match for the group butaren't members. Match may be based upon any of the algorithms disclosedherein. For group hours, a group may be always on asynchronously. Agroup may also have synchronous capabilities which may change thisdynamic. For suggested groups, users can see a list of groups thatthey're a match for in their “Your Matches.” For active indicator,users, admins and moderators can see who is active in a group chat. Forgroup membership, users, admins and moderators can see who is a memberof a group chat. For group by type, the group may offer prefab groupsfor similar/learn (“SL”), similar/validate (“SV”), different/learn(“DL”), and different/validate (“DV”), and prompt to suggest that usersjoin them.

For matching criteria, a user may be a match for a group chat if: 1)they have experienced one or more steps in a life event (“Been Theres”)that align with the purpose of the group chat; 2) they are about toexperience 1 or more steps in a life event (“Follows”) that align withthe purpose of the group chat. For light bulb cycle, chat contributionsthat have >5 (or any number) “Insightful” Light Bulb reactions may beadded to a queue of Top Contributions. These Top Contributions may beadded manually into the conversation by the admin/moderator when theconversation lags. For administrative role and rights, an administratormay be required for each group chat. The person who creates the groupchat may be automatically assigned as the administrator until theyrelinquish that role and give it to another user. An admin can: havefull moderation rights+responsibilities; delete the group chat; andmerge the group chat with another group. The Top Contributions may beadded to the conversation via Prompts without manual intervention fromthe admin/moderator. For moderator role and rights, a moderator may notbe required for each group chat. The moderator can: add/delete/banusers; flag/delete content; participate in the conversation as a user;inject content into the conversation; invite new users to theconversation; manually add prompts to the conversation; and manuallysend quality control (“QC”) messages 1:1 to each group participant.

The matching may comprise a plurality of details. The plurality ofdetails may comprise matching criteria, training, and placement inproduct. For matching criteria, a user may be deemed to be a match foranother user if: they share at least 1 “Been There”; they share at least1 “Follow”; they have >3 (or any number) connections in common; they areparticipating in >2 (or any number) of the same group chats; theirintent matches; their intent and quality control responses match; theirpersonas match; they have >3 (or any number) of the same reactions(Insightful or Emotional reactions) within a group chat to the samecontributions or content; they have ignored >10 (or any number) of thesame suggested matches; they share at least 1 (or any number) “BeenThere” or “Follow” and they share the same location; they share the samestated Goals. If all other potential matches have been exhausted, then“New to platform” may match of users who have just joined. The new usersmay be served up in order of newest to oldest. A new member maycorrespond to a member that just joined within, for example the past 7days. For training, the matching algorithm may be trained based uponuser's responses to the suggested matches. For placement in product, theplacement of the suggested matches (users and group chats) in severalplaces in the product may be tested. The user matching platform maytrack which placements generate the best conversion (of suggestion tonew connection) and then optimize the placements per user.

In some embodiments, the method may comprise matching a plurality ofusers. The matching can be based on where each user is on a timeline,which may include what each of the users either has experienced, iscurrently experiencing, or is likely to experience in the future. Thematching may also be based on the messages or actions from the users.

For example, for a given life-journey and a first user A whichparticipates in this journey, an algorithm (or “matching algorithm”) maygenerate four user matching scores in respect to each other second userB. User A may be the user receiving the recommendation, and user B maybe the potential recommendation candidate. These four scores may bebased on a similar algorithm, but each captures a different aspect ofthe user pair-wise interaction. These scores may include (1) Been-Been(BB), (2) Been-Follow (BF), (3) Follow-Been (FB), and (4) Follow-Follow.Each of these scores can be calculated as a raw score or as a normalizedscore. The raw score calculation can provide a numerical value for eachscore. The normalized score calculation can normalize the raw scores sothat the scores may be compared to each other. Any 1, 2, 3, or 4 ofthese scores can be used by the method to determine a match between userA and a user B.

In some instances the method may not allow the matching of users whohave previously been matched, or users who are friends. In some of theseinstances, user B may be a friend to user A, user B may be a contact ofuser A, user B may be a previous friend of user A, or user B may be aprevious contact of user A. In some of these cases, the scores based onthe data from users A and B need not be calculated.

In some instances, to calculate these scores, the method may use userinput metrics from the user input data. These user input metrics mayinclude Been-There and Following. Been-There may be used to indicatethat the user has previously experienced a step on a timeline. Incontrast, Following may be used to indicate that the user isexperiencing, expected to experience, or likely to experience a step ona timeline. Been-There and Following can be provided by the user. Usingthese metrics, the location of each user on a timeline can bedetermined. Examples of how to calculate raw scores and normalizedscores are provided as follows.

Calculating the Raw Scores

Been-Been (BB) may be a score for a pair of users based on the percentintersection of the Been-There metric between User A and User B. Inother words, this may be a score of the relation between user A, mayhave already experienced a selected step on a timeline, and user B, whomay have already experienced the same selected step on a timeline. Theseshared experiences may influence the final score. This score may becalculated such that more shared experiences may result in a higherscore and fewer shared experiences may result in a lower score.Additionally, the total number of Been-There steps, or the size of theBeen-There metric, for user A may influence the BB score for user A.Thus, the experiences user A has had may influence the BB score for userA. In some instances, User A having more experiences may result in ahigher score and a lower number leads to a lower score.

This score can be calculated as a raw score or a normalized score. Theraw score may be the magnitude of the match of user B to user A, and maybe normalized to calculate the normalized score, so that scores can becompared.

The raw score may be calculated for every user A as:

${{BB}\left( {A,B} \right)} = \frac{\left\{ {{{x}x} \in {{{Been}(A)}\mspace{11mu} {and}\mspace{14mu} x} \in {{Been}(B)}} \right\} }{{{{Been}(A)}} + {AbsCountCoef}}$

In this case, users with a high score or a given user may have haveexperienced many of the same life-journey steps as user B.

Been-Follow (BF) may be a score for a pair of users based on the percentintersection of the Been-There metric of user A with the Followingmetric of user B. In other words, this may be a score of the relationbetween user A, who may have already experienced a selected step on atimeline, and user B, who may be likely to experience the same selectedstep on a timeline. These aligned experiences may influence the finalscore. The score may be calculated such that more aligned experiencesbetween user A and user B may result in a higher score, and fewer sharedexperiences may result in a lower score. Additionally, the total numberof Been-There steps, or the size of the Been-There metric, for user Acan affect the score such that a higher number leads to a higher scoreand a lower number leads to a lower score. In some instances, this scoremay be calculated as a ratio of a number of common steps between thefirst user A and second user B, to the number of steps experienced bythe first user A.

This score can be calculated as a raw score or a normalized score. Theraw score may be the magnitude of the match of user B to user A, and maybe normalized to calculate the normalized score, so that scores can becompared.

The raw score may be calculated for every user A as:

${{BF}\left( {A,B} \right)} = \frac{\left\{ {{{x}x} \in {{{Been}(A)}\mspace{11mu} {and}\mspace{14mu} x} \in {{Follow}(B)}} \right\} }{{{{Been}(A)}} + {AbsCountCoef}}$

In this case, users A with a high BF score for a given user B may haveexperienced many of the life-journey steps that user B may expect toexperience soon.

Follow-Been (FB) may be a score for a pair of users based on the percentintersection of the Following metric of user A with the Been-Theremetric of user B. In other words, this may be a score of the relationbetween user A, who may be likely to experience a selected step on atimeline, and user B, who may have already experienced the same selectedstep on a timeline. This score can be calculated as a raw score or anormalized score, as described above. This score may be calculated suchthat more aligned experiences between user A and user B may result in ahigher score, and fewer shared experiences may result in a lower score.Additionally, the total number of Following steps, or the size of theFollowing metric, for user A may affect the score such that a highernumber leads to a higher score and a lower number leads to a lowerscore.

This score can be calculated as a raw score or a normalized score. Theraw score may be the magnitude of the match of user B to user A, and maybe normalized to calculate the normalized score, so that scores can becompared.

The raw score may be calculated for every user A as:

${F{B\left( {A,B} \right)}} = \frac{\left\{ {{{x}x} \in {{Follow}\mspace{14mu} (A)\mspace{14mu} {and}\mspace{14mu} x} \in {{Been}\mspace{14mu} (B)}} \right\} }{{{{Follow}\mspace{14mu} (A)}} + {{AbsC}ountCoef}}$

In this case, users A with a high FB score for a given user B may expectto experience many of the same life-journey steps that user B recentlyexperienced.

Follow-Follow (FF) may be a score for a pair of users based on thepercent intersection of the Following metric of user A with theFollowing metric of user B. In other words, this may be a score of therelation between user A, who may be likely to experience a selected stepon a timeline, and user B, who may be likely to experience the sameselected step on a timeline. This score can be calculated as a raw scoreor a normalized score, as described above. This score may be calculatedsuch that a greater number of experiences which both users A and B maybe likely to experience may result in a higher score, and fewer suchexperiences may result in a lower score. Additionally, the total numberof Following steps, or the size of the Following metric, for user A mayaffect the score such that a higher number leads to a higher score and alower number leads to a lower score.

This score can be calculated as a raw score or a normalized score. Theraw score may be the magnitude of the match of user B to user A, and maybe normalized to calculate the normalized score, so that scores can becompared.

The raw score may be calculated for every user A as:

${F{F\left( {A,B} \right)}} = \frac{\left\{ {{{x}x} \in {{Follow}\mspace{14mu} (A)\mspace{14mu} {and}\mspace{14mu} x} \in {{Follow}\mspace{14mu} (B)}} \right\} }{{{{Follow}\mspace{14mu} (A)}} + {{AbsC}ountCoef}}$

Users A with a high FF score for a given user B may expect to experiencemany of the same life-journey steps that user B may expect toexperience.

In each of the above scores, there may be included in the denominator an“AbsCountCoef” term. This term may be a constant and may be included topenalize scores which can or are based on a low absolute number ofshared steps. In some instances, AbsCountCoef may be set equal to 1. Insome embodiments, the AbsCountCoef term may not be necessary or notincluded.

In some instances, the BB, BF, FB, and FF raw scores are transformed toBB, BF, FB, and FF Z-scores, where a Z-score can be a measure of howmany standard deviations below or above the population mean a raw scoreis. The Z-score may be calculated as the ratio of the difference betweenthe raw score and the mean score to the standard deviation of the score,for one of the BB, BF, FB, or FF scores. In this calculation, the meanand standard deviation may be calculated based on data from at leastseveral users. This transformation may make these scoresinter-comparable, and can be a method of normalizing the scores,although other methods of normalizing the scores are acceptable.

In some instances, 2, 3, or 4 of the Z-scores may be compared with eachother. In these instances, one of the compared scores can indicate themost significant score for determining the user match. In a notableinstance, the highest of the compared scores may indicate the mostsignificant interaction type.

As the users experience different steps, the Been-There and Followingmetrics for those users may change. As such, the measure of the successof the match of one of users B to user A may change over time. Also,over time, different users B can be matched to user A as these metricschange. To account for this, these scores may be updated periodically orsubstantially in real time as the first user or the second userexperiences different steps.

The scores as they are calculated above may not be symmetric in bothways. In other words, the BB score for user A compared with user B maynot be equal to the BB score for user B compared with user A. Similarly,the BF score for user A compared with user B may not be equal for the BFscore for user B compared with user A. Likewise, the FB score for user Acompared with user B may not be equal for the FB score for user Bcompared with user A. Similarly, the FF score for user A compared withuser B may not be equal to the FF score for user B compared with user A.

Overtime, the needs of user A and experiences of user B may change.Thus, use of older data could render the match irrelevant. To preventthis, the algorithm may use only recent data in the calculations of theBB, BF, FB, and FF scores, where recent data can include data collectedin the past month, week, day, hour, or subset of these timescales. Thisapplication of only recent data may keep the user matching fresh andrelevant.

Typically, when calculating the above described scores and providingmatches of users A and B, the input data may be assumed to be clean. Asa non-limiting example, deleted users are not included in thecalculation. This may ensure that the matches provided to user A areuseful and relevant.

Each user may be unique and can have a unique combination of lifeevents. Thus, the method may or may not assume for one life event thatother life events have occurred for a particular user. Thus, each lifeevent may be considered separately. In other words, the BB, BF, FB, andFF scores can be calculated for one life event for user A independentlyof other life events that user A has experienced.

In some instances, the user matching may be based on only one of thescores for the pair of users A and B. In these instances, after one ormore of the BB, BF, FB, and FF scores are calculated, and the calculatedscore with the highest value may be used to determine the match.

Calculating the Normalized Scores

In some implementations of the described methods, one or more normalizedscores may be calculated. The normalized scores can be thought of as thefinal scores in some instances. The normalized score may be calculatedas described below. In this embodiment, the raw scores are transformedinto a z-score like metric to produce the normalized scores.

The normalization of the scores can introduce at least two majorbenefits. First, it can make the scores inter-comparable. Second, scorebiases can diminish. For example, if for a pair of users there may be atendency to have a higher BB score than BF score, this tendency will beeliminated, and the scores will scale the same.

The normalized BB score can be calculated as the ratio of the differencebetween the raw score and the average of the set of raw scores to thestandard deviation of the set of raw scores:

${BB_{norm}} = \frac{{BB} - P_{BB}}{\sqrt{{P_{BB}*\left( {1 - P_{BB}} \right)} + {eps}}}$where$P_{BB} = \frac{\sum_{A \neq B}{\left\{ x \middle| {x \in {{{Been}(A)}\mspace{11mu} {and}\mspace{14mu} x} \in {{Been}(B)}} \right\} }}{{eps} + {\sum_{A \neq B}{\left\{ {x \in {{Been}(A)}} \middle| {{{{Been}(A)}\bigcap{{Been}(B)}} \neq 0} \right\} }}}$

and where P_(BB) may be the average of the BB scores, and eps may bepreventing division by zero. In one embodiment, eps has a default valueof 10-6.

The other normalized scores can be similarly calculated as:

${BF}_{norm} = \frac{{BF} - P_{BF}}{\sqrt{{P_{BF}*\left( {1 - P_{BF}} \right)} + {eps}}}$${FB}_{norm} = \frac{{FB} - P_{FB}}{\sqrt{{P_{FB}*\left( {1 - P_{FB}} \right)} + {eps}}}$and${FF}_{norm} = \frac{{FF} - P_{FF}}{\sqrt{{P_{FF}*\left( {1 - P_{FF}} \right)} + {eps}}}$${{where}:P_{BF}} = \frac{\sum_{A \neq B}{\left\{ x \middle| {x \in {{{Been}(A)}\mspace{11mu} {and}\mspace{14mu} x} \in {{Follow}(B)}} \right\} }}{{eps} + {\sum_{A \neq B}{\left\{ {x \in {{Been}(A)}} \middle| {{{{Been}(A)}\bigcap{{Follow}(B)}} \neq 0} \right\} }}}$$P_{FB} = \frac{\sum_{A \neq B}{\left\{ x \middle| {x \in {{{Follow}(A)}\mspace{11mu} {and}\mspace{14mu} x} \in {{Been}(B)}} \right\} }}{{eps} + {\sum_{A \neq B}{\left\{ {x \in {{Follow}(A)}} \middle| {{{{Follow}(A)}\bigcap{{Been}(B)}} \neq 0} \right\} }}}$and$P_{FF} = \frac{\sum_{A \neq B}{\left\{ x \middle| {x \in {{{Follow}(A)}\mspace{11mu} {and}\mspace{14mu} x} \in {{Follow}(B)}} \right\} }}{{eps} + {\sum_{A \neq B}{\left\{ {x \in {{Follow}(A)}} \middle| {{{{Follow}(A)}\bigcap{{Follow}(B)}} \neq 0} \right\} }}}$

To match the users, an algorithm can be implemented wherein one or moreof the BB, BF, FB, and FF scores and/or one or more of the BBnorm,BFnorm, FBnorm, and FFnorm scores are calculated, wherein the first andsecond users are undergoing the same life event; and using the pluralityof scores to determine a level of match of the second user to the firstuser.

The algorithm may further determine whether to provide a recommendationof the second user to the first user based on the level of match. Thisrecommendation would suggest to the first user that they should connectwith the second user, for example to gain insight on what to expectwhile going through the life event. In some implementations of thealgorithm, if one or more of the scores may be below a threshold, arecommendation may not be provided. Similarly, in some implementations,if one or more of the scores may be above a threshold, a match may beprovided.

In some methods, the match can be updated substantially in real time.This may be implemented to provide accurate and useful matches to users.For example, on Monday, user A may be highly likely to experience eventE, while user B just successfully traversed event E. On Monday, user Bmay be an excellent match for user A, according to the FB score.However, on Wednesday, user A traverses event E. Thus, advice fromuser Bto user A on how to handle event B may no longer be relevant to user A,and they are no longer an ideal match.

There can be several interpretations of “substantially in real time,”and the chosen implementation may depend on computing power available,connectivity, input data availability, the pace at which the event orsteps typically proceeds, or other factors. This may be updatedconstantly, every second, every minute, every hour, every day, everyweek, every month, every year, or other time scale appropriate for theevent. Alternatively, matches may be updated based on a triggeringevent. The triggering event may be an input of the completion of theevent from user A, a change in priority from either user, lack ofactivity for either user, or other reason.

Systems for User Matching

In an aspect, a computer-implemented system for matching between aplurality of users may comprise: a server in communication with aplurality of devices associated with the plurality of users; and amemory storing instructions that, when executed by the server, cause theserver to perform operations comprising: receiving input data from theplurality of devices, wherein the input data comprises queries, commentsor insights from different users relating to the one or more lifeevents, wherein each life event comprises a plurality of different stepson a timeline; analyzing the input data to determine, for each user andlife event, which steps on the timeline that each user (a) hasexperienced, (b) is currently experiencing, or (c) likely to experiencein the future; and matching the plurality of users with one another,based on the life events and the steps that the users have experienced,are currently experiencing, or likely to experience in the future, inorder to assist the users in navigating one or more life events.

The system may comprise a matching engine. The matching engine may beconfigured to receive a query from an end user. The user query may beprovided to the matching engine using one or more user devices. In someinstances, the user query may be provided in plural, and may comprise aplurality of user queries. The user query may include questions,comments, or statements made by one or more users. Different users mayprovide different queries, and the queries may relate to any subjectmatter. For example, a user may be going through a significant lifetransition (SLT), such as going to college, getting married, havingchildren, starting a business, getting divorced, retirement, relocation,or diagnosed with a terminal illness, among others. In those instances,the user query may be indicative of the user's thoughts, feelings,moods, opinions, comments, worries, general questions regarding any ofthe above-mentioned SLTs, and/or specific questions regarding certaintopics or milestones within a SLT. Any type or form of user query may becontemplated. The user query may include text, emoticons, pictures,photographs, videos, audio files, etc. The matching engine may befurther configured to match different users by analyzing the queries.When the matching engine finds a match, the matching engine may providesignals to the user regarding the match. The matching engine may also beconfigured to receive an insight from a contributor. A contributor maybe a person who has experience with a SLT, has gone through a SLT, orwho is currently going through a SLT. The SLT may include going tocollege, getting married, having children, starting a business, gettingdivorced, retirement, relocation, or diagnosed with a terminal illness,among others. The insight may relate to the contributor's personalexperience navigating one or more milestones of a SLT.

In some embodiments, end users may add questions about subjects they areinterested in. The subjects may relate to SLTs, milestones in the SLTs,events, etc. The matching engine may be configured to receive questionsfrom the end users. The matching engine may employ natural languageprocessing (NLP) and machine learning methods to (1) categorize thequestions into different subjects, (2) tag the questions, (3) findsimilar questions or existing answers to those questions, (4) matchquestions to other users or contributors who may be able to answer thosequestions, and/or (5) match different users by analyzing differentquestions.

In some embodiments, a machine learning methods may utilize one or moreneural networks. A neural network may be a type of computational systemthat can learn the relationships between an input data set and a targetdata set. A neural network may be a software representation of a humanneural system (e.g. cognitive system), intended to capture “learning”and “generalization” abilities as used by a human. A neural network maycomprise a series of layers termed “neurons” or “nodes.” A neuralnetworks may comprise an input layer, to which data is presented; one ormore internal, and/or “hidden,” layers; and an output layer. A neuronmay be connected to neurons in other layers via connections that haveweights, which are parameters that control the strength of a connection.The number of neurons in each layer may be related to the complexity ofa problem to be solved. The minimum number of neurons required in alayer may be determined by the problem complexity, and the maximumnumber may be limited by the ability of a neural network to generalize.Input neurons may receive data being presented and then transmit thatdata to the first hidden layer through connections' weights, which aremodified during training. The node may sum up the products of all pairsof inputs and their associated weights. The weighted sum may be offsetwith a bias. The output of a node or neuron may be gated using athreshold or activation function. An activation function may be a linearor non-linear function. An activation function may be, for example, arectified linear unit (ReLU) activation function, a Leaky ReLuactivation function, or other function such as a saturating hyperbolictangent, identity, binary step, logistic, arcTan, softsign, parametericrectified linear unit, exponential linear unit, softPlus, bent identity,softExponential, Sinusoid, Sinc, Gaussian, or sigmoid function, or anycombination thereof.

A first hidden layer may process data and transmit its result to thenext layer through a second set of weighted connections. Each subsequentlayer may “pool” results from previous layers into more complexrelationships. Neural networks may be programmed by training them with aknown sample set (data collected from one or more sensors) and allowingthem to modify themselves during (and after) training so as to provide adesired output such as an output value. A trained algorithm may compriseconvolutional neural networks, recurrent neural networks, dilatedconvolutional neural networks, fully connected neural networks, deepgenerative models, and Boltzmann machines.

Weighting factors, bias values, and threshold values, or othercomputational parameters of a neural network, may be “taught” or“learned” in a training phase using one or more sets of training data.For example, parameters may be trained using input data from a trainingdata set and a gradient descent or backward propagation method so thatoutput value(s) that a neural network computes are consistent withexamples included in training data set.

The number of nodes used in an input layer of a neural network may be atleast about 10, 50, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000,2000, 3000, 4000, 5000, 6000, 7000, 8000, 9000, 10,000, 20,000, 30,000,40,000, 50,000, 60,000, 70,000, 80,000, 90,000, 100,000 or greater. Inother instances, the number of node used in an input layer may be atmost about 100,000, 90,000, 80,000, 70,000, 60,000, 50,000, 40,000,30,000, 20,000, 10,000, 9000, 8000, 7000, 6000, 5000, 4000, 3000, 2000,1000, 900, 800, 700, 600, 500, 400, 300, 200, 100, 50, or 10 or smaller.In some instance, the total number of layers used in a neural network(including input and output layers) may be at least about 3, 4, 5, 10,15, 20, or greater. In other instances, the total number of layers maybe at most about 20, 15, 10, 5, 4, 3 or less.

In some instances, the total number of learnable or trainableparameters, e.g., weighting factors, biases, or threshold values, usedin a neural network may be at least about 10, 50, 100, 200, 300, 400,500, 600, 700, 800, 900, 1000, 2000, 3000, 4000, 5000, 6000, 7000, 8000,9000, 10,000, 20,000, 30,000, 40,000, 50,000, 60,000, 70,000, 80,000,90,000, 100,000 or greater. In other instances, the number of learnableparameters may be at most about 100,000, 90,000, 80,000, 70,000, 60,000,50,000, 40,000, 30,000, 20,000, 10,000, 9000, 8000, 7000, 6000, 5000,4000, 3000, 2000, 1000, 900, 800, 700, 600, 500, 400, 300, 200, 100, 50,or 10 or smaller.

A neural network may comprise a convolutional neural network. Aconvolutional neural network may comprise one or more convolutionallayers, dilated layers or fully connected layers. The number ofconvolutional layers may be between 1-10 and dilated layers between0-10. The total number of convolutional layers (including input andoutput layers) may be at least about 1, 2, 3, 4, 5, 10, 15, 20, orgreater, and the total number of dilated layers may be at least about 1,2, 3, 4, 5, 10, 15, 20, or greater. The total number of convolutionallayers may be at most about 20, 15, 10, 5, 4, 3 or less, and the totalnumber of dilated layers may be at most about 20, 15, 10, 5, 4, 3 orless. In some embodiments, the number of convolutional layers is between1-10 and fully connected layers between 0-10. The total number ofconvolutional layers (including input and output layers) may be at leastabout 1, 2, 3, 4, 5, 10, 15, 20, or greater, and the total number offully connected layers may be at least about 1, 2, 3, 4, 5, 10, 15, 20,or greater. The total number of convolutional layers may be at mostabout 20, 15, 10, 5, 4, 3 or less, and the total number of fullyconnected layers may be at most about 20, 15, 10, 5, 4, 3 or less.

A convolutional neural network (CNN) may be deep and feed-forwardartificial neural networks. A CNN may be applicable to analyzing visualimagery. A CNN may comprise an input, an output layer, and multiplehidden layers. Hidden layers of a CNN may comprise convolutional layers,pooling layers, fully connected layers and normalization layers. Layersmay be organized in 3 dimensions: width, height and depth.

Convolutional layers may apply a convolution operation to an input andpass results of a convolution operation to a next layer. For processingimages, a convolution operation may reduce the number of freeparameters, allowing a network to be deeper with fewer parameters. In aconvolutional layer, neurons may receive input from only a restrictedsubarea of a previous layer. Convolutional layer's parameters maycomprise a set of learnable filters (or kernels). Learnable filters mayhave a small receptive field and extend through the full depth of aninput volume. During a forward pass, each filter may be convolved acrossthe width and height of an input volume, compute a dot product betweenentries of a filter and an input, and produce a 2-dimensional activationmap of that filter. As a result, a network may learn filters thatactivate when it detects some specific type of feature at some spatialposition in an input.

Pooling layers may comprise global pooling layers. Global pooling layersmay combine outputs of neuron clusters at one layer into a single neuronin the next layer. For example, max pooling layers may use the maximumvalue from each of a cluster of neurons at a prior layer; and averagepooling layers may use an average value from each of a cluster ofneurons at the prior layer. Fully connected layers may connect everyneuron in one layer to every neuron in another layer. In afully-connected layer, each neuron may receive input from every elementof a previous layer. A normalization layer may be a batch normalizationlayer. A batch normalization layer may improve a performance andstability of neural networks. A batch normalization layer may provideany layer in a neural network with inputs that are zero mean/unitvariance. Advantages of using batch normalization layer may includefaster trained networks, higher learning rates, easier to initializeweights, more activation functions viable, and simpler process ofcreating deep networks.

A neural network may comprise a recurrent neural network. A recurrentneural network may be configured to receive sequential data as an input,such as consecutive data inputs, and a recurrent neural network softwaremodule may update an internal state at every time step. A recurrentneural network can use internal state (memory) to process sequences ofinputs. A recurrent neural network may be applicable to tasks such ashandwriting recognition or speech recognition, next word prediction,music composition, image captioning, time series anomaly detection,machine translation, scene labeling, and stock market prediction. Arecurrent neural network may comprise fully recurrent neural network,independently recurrent neural network, Elman networks, Jordan networks,Echo state, neural history compressor, long short-term memory, gatedrecurrent unit, multiple timescales model, neural turing machines,differentiable neural computer, neural network pushdown automata, or anycombination thereof.

A trained algorithm may comprise a supervised or unsupervised learningmethod such as, for example, SVM, random forests, clustering algorithm(or software module), gradient boosting, logistic regression, and/ordecision trees. Supervised learning algorithms may be algorithms thatrely on the use of a set of labeled, paired training data examples toinfer the relationship between an input data and output data.Unsupervised learning algorithms may be algorithms used to drawinferences from training data sets to output data. Unsupervised learningalgorithm may comprise cluster analysis, which may be used forexploratory data analysis to find hidden patterns or groupings inprocess data. One example of unsupervised learning method may compriseprincipal component analysis. Principal component analysis may comprisereducing the dimensionality of one or more variables. The dimensionalityof a given variables may be at least 1, 5, 10, 50, 100, 200, 300, 400,500, 600, 700, 800, 900, 1000, 1100, 1200 1300, 1400, 1500, 1600, 1700,1800, or greater. The dimensionality of a given variables may be at most1800, 1600, 1500, 1400, 1300, 1200, 1100, 1000, 900, 800, 700, 600, 500,400, 300, 200, 100, 50, 10 or less.

A statistical based algorithm may be obtained through statisticaltechniques. In some embodiments, statistical techniques may compriselinear regression, classification, resampling methods, subset selection,shrinkage, dimension reduction, nonlinear models, tree-based methods,support vector machines, unsupervised learning, or any combinationthereof.

A linear regression may be a method to predict a target variable byfitting the best linear relationship between a dependent and independentvariable. The best fit may mean that the sum of all distances between ashape and actual observations at each point is the least. Linearregression may comprise simple linear regression and multiple linearregression. A simple linear regression may use a single independentvariable to predict a dependent variable. A multiple linear regressionmay use more than one independent variables to predict a dependentvariable by fitting a best linear relationship. In some embodiments, thematching engine may be configured to categorize insights automaticallyto one or several domains or milestones using, for example, NLP methodsand/or machine learning methods for multiclass and multi-label textcategorization.

In some embodiments, the matching engine may be further configured toretrieve data stored in a database. The data may include lists ofquestions and answers relating to SLTs that are obtained fromreputable/reliable websites, or the like. For example, if a SLT relatesto cancer, the matching engine may retrieve questions and answers from areputable website, such as a website operated by the American CancerSociety.

The system may also comprise a recommendation engine. The recommendationengine can recommend one or more different users to a particular user.The recommended people may be users of the user matching platform. Therecommended people may be someone who have experienced, areexperiencing, or are about to experience same life events or steps withthe user. The recommendation engine may also be configured to map thecommunity wisdom to the milestones or steps on the user's timeline, soas provide personalized recommendations to the user for each milestoneor step. The recommendation engine may be capable of predicting theuser's needs based on the user query, as previously described. In someembodiments, the recommendation engine can predict the user's needsbased on: (1) the user's profile, (2) information obtained directly orindirectly from the user, (3) user's action (or inaction) regardingcertain matters, and/or (4) user's interaction with other users. Therecommendation engine can determine similarity based on parametersincluding the users' age, ethnicity, geographical location, type of SLTand milestones, income, personality, spending habits, etc.

A non-transitory computer-readable storage medium including instructionsthat, when executed by a server, cause the server to perform operationsmay comprise: receiving input data from the plurality of devices,wherein the input data comprises queries, comments or insights fromdifferent users relating to the one or more life events, wherein eachlife event comprises a plurality of different steps on a timeline;analyzing the input data to determine, for each user and life event,which steps on the timeline that each user (a) has experienced, (b) iscurrently experiencing, or (c) likely to experience in the future; andmatching the plurality of users with one another, based on the lifeevents and the steps that the users have experienced, are currentlyexperiencing, or likely to experience in the future, in order to assistthe users in navigating one or more life events.

The non-transitory computer readable medium may be operatively coupledwith components for transmitting the result. Components for transmittingcan include wired and wireless components. Examples of wiredcommunication components can include a Universal Serial Bus (USB)connection, a coaxial cable connection, an Ethernet cable such as a Cat5or Cat6 cable, a fiber optic cable, or a telephone line. Examples forwireless communication components can include a Wi-Fi receiver, acomponent for accessing a mobile data standard such as a 3G or 4G LTEdata signal, or a Bluetooth receiver. All these data in thenon-transitory computer readable medium may be collected and archived tobuild a data warehouse.

Applications Example 1 (Diagnosis with Cancer)

For example, a person going through a SLT of having been diagnosed withcancer may wonder about how to proceed with treatment. A journey toovercome cancer thus begins. The individual can try to find someone inthe community for advice about cancer treatment and how to manage thisillness. Various members of the community may have experiences regardingcancer treatment and how to manage the illness. Even before theindividual joins the community, the application or platform can collectthe information of the various members who are already members of thecommunity and have experiences regarding the cancer treatment as data,and can filter out the relevant information. To find someone in thecommunity for advice about cancer treatment, the individual may answer aset of questions provided by the application. During the questioning andanswering process, the application can navigate its database to find amatch to the individual. The individual may then choose to add the matchas a new contact and start to communicate with the match. The matcheduser can contribute his/her wisdom regarding cancer treatment or how tomanage to the illness, to the individual. For example, the matched usercan inform the individual on the types of cancer treatment, recommend asuitable type of cancer treatment for the user, suggest medicalproviders that fit the user's budget/needs, provide advice on sideeffects resulting from the cancer treatment, as well as othernon-clinical aspects of the cancer treatment (e.g., impact on family,finances, job, etc.). Accordingly, the individual is then given the“wisdom” of the matched user through the application or platform.

Applications Example 2 (Preparing for Loss of a Loved One)

A person going through a SLT of losing a loved one may wonder about howto brace the family together during those difficult times, how to informfriends and family about the loss, and how to prepare for the funeral. Ajourney of preparing for the above thus begins. The individual can tryto find someone in the community for advice about how to deal with lossof a loved one. Various members of the community may have experiencesregarding the loss of a loved one. Even before the individual joins thecommunity, the application or platform can collect the information ofthe various members who are already member of the community and haveexperiences regarding loss of a loved one as data, and filter out therelevant information. To find someone in the community who can provideadvice about loss of a loved one, the individual may answer a set ofquestions provided by the application. During the questioning andanswering process, the application or platform can navigate its databaseto find a match to the individual. The individual may then choose to addthe match as a new contact and start to communicate with the match. Thematched user can contribute his/her wisdom regarding the loss of a lovedone to the individual. For example, the matched user can inform theindividual about various aspects of managing the loss of a loved one.Accordingly, the individual is then provided the “wisdom” of the matcheduser through the application or platform.

Next, various embodiments of the invention will be described withreference to the drawings.

FIG. 1 illustrates an exemplary network layout 100 in accordance withsome embodiments. In one aspect, network layout 100 may include userdevice 102, server 104, network 106, database(s) 108, and user matchingsystem(s) 110. Each of the components 102, 104, 108, and 110 may beoperatively connected to one another via network 106 or any type ofcommunication links that allows transmission of data from one componentto another. The user matching system can be provided as part of an eventnavigation system, or separately from an event navigation system.Examples of event navigation systems are described in U.S. Pat. No.9,710,757, which is incorporated herein in its entirety

User device 102 may be, for example, one or more computing devicesconfigured to perform one or more operations consistent with thedisclosed embodiments. For example, user device 102 may be a computingdevice that can display one or more webpages. User device 102 caninclude, among other things, desktop computers, laptops or notebookcomputers, mobile devices (e.g., smart phones, cell phones, personaldigital assistants (PDAs), and tablets), and wearable devices (e.g.,smartwatches). User device 102 can also include any other media contentplayer, for example, a set-top box, a television set, a video gamesystem, or any electronic device capable of providing or rendering data.User device 102 may include known computing components, such as one ormore processors, and one or more memory devices storing softwareinstructions executed by the processor(s) and data.

In certain embodiments, one or more users may operate user device 102 toperform one or more operations consistent with disclosed embodiments.Alternatively, a user may operate one or more user devices 102 toperform one or more operations consistent with disclosed embodiments. Auser as described herein may refer to an individual, a group ofindividuals, a support group comprising a group of individuals, a commoninterests group comprising a group of individuals, etc. The supportgroup may be, for example, a group of people sharing their experienceshow dealing with a significant life transition (e.g., diagnosed with aterminal illness, going through a divorce, etc.). The common interestsgroup may be, for example, a group of people who have common goals orinterests or a common timeline (e.g., going to college, or upcomingretirement, etc.). A user may be registered or associated with an entitythat provides services associated with one or more operations performedby the disclosed embodiments. For example, the user may be a registereduser of an entity (e.g., a company, an organization, an individual,etc.) that provides one or more of servers 104, database(s) 108, and/oruser matching system(s) 110 to perform operations for assisting the userin navigating through events happening in the user's life, theoperations being consistent with certain disclosed embodiments. Theevents may be related to significant life transitions (SLTs), asdescribed below.

User device 102 may be configured to receive input from one or moreusers. A user may provide may provide an input to user device 102 usingan input device, for example, a keyboard, a mouse, a touch-screen panel,voice recognition and/or dictation software, or any combination of theabove. The user input may include questions, comments, or statementsmade by one or more users. Different users may provide different input,and the input may relate to any subject matter. For example, a user maybe going through a significant life transition (SLT), such as going tocollege, getting married, having children, starting a business, gettingdivorced, retirement, relocation, or diagnosed with a terminal illness,among others. In those instances, the user's input may be indicative ofthe user's thoughts, feelings, moods, opinions, general questionsregarding any of the above-mentioned SLTs, and/or specific questionsregarding certain topics within a SLT.

In some embodiments, a plurality of user devices 102 may be provided.One or more users may be associated with each user device 102.Alternatively, one or more devices 102 may be associated with each user.The disclosed embodiments are not limited to any specific relationshipsor affiliations between user(s) of device 102 and an entity, person(s),or entities providing server 104, database(s) 108, and user matchingsystem(s) 110.

Server 104 may be one or more server computers configured to perform oneor more operations consistent with disclosed embodiments. In one aspect,server 104 may be implemented as a single computer, through which userdevice 102 is able to communicate with other components of networklayout 100 illustrated in FIG. 1. In some embodiments, user device 102may communicate with server 104 through network 106. In otherembodiments, server 104 may communicate on behalf of user device 102with user matching system(s) 110 or database(s) 108 through network 106.In some embodiments, server 104 may embody the functionality of one ormore of user matching system(s) 110. In some embodiments, user matchingsystem(s) 110 may be implemented inside and/or outside of server 104.For example, user matching system(s) 110 may be software and/or hardwarecomponents included with server 104 or remote from server 104.

In some embodiments, user device 102 may be directly connected to server104 through a separate link (not shown in FIG. 1). In certainembodiments, server 104 may be configured to operate as a front-enddevice configured to provide access to one or more user matchingsystem(s) 110 consistent with certain disclosed embodiments. Server 104may, in some embodiments, utilize user matching system(s) 110 to processuser input from user device 102 in order to match the user with othermembers in the community. Server 104 may be configured to search,retrieve, and analyze data and information stored in database(s) 108.The data and information may include questions, answers, comments, andinsights relating to different SLTs, milestones and/or the user's needs.While FIG. 1 illustrates server 104 as a single server, in someembodiments, multiple devices may implement the functionality associatedwith server 104.

Server 104 may include a web server, an enterprise server, or any othertype of computer server, and can be computer programmed to acceptrequests (e.g., HTTP, or other protocols that can initiate datatransmission) from a computing device (e.g., user device 102) and toserve the computing device with requested data. In addition, server 104can be a broadcasting facility, such as free-to-air, cable, satellite,and other broadcasting facility, for distributing data. Server 104 mayalso be a server in a data network (e.g., a cloud computing network).

Server 104 may include known computing components, such as one or moreprocessors, one or more memory devices storing software instructionsexecuted by the processor(s), and data. Server 104 can have one or moreprocessors and at least one memory for storing program instructions. Theprocessor(s) can be a single or multiple microprocessors, fieldprogrammable gate arrays (FPGAs), or digital signal processors (DSPs)capable of executing particular sets of instructions. Computer-readableinstructions can be stored on a tangible non-transitorycomputer-readable medium, such as a flexible disk, a hard disk, a CD-ROM(compact disk-read only memory), and MO (magneto-optical), a DVD-ROM(digital versatile disk-read only memory), a DVD RAM (digital versatiledisk-random access memory), or a semiconductor memory. Alternatively,the methods can be implemented in hardware components or combinations ofhardware and software such as, for example, ASICs, special purposecomputers, or general purpose computers. While FIG. 1 illustrates server104 as a single server, in some embodiments, multiple devices mayimplement the functionality associated with server.

Network 106 may be a network that is configured to provide communicationbetween various components of network layout 100 depicted in FIG. 1.Network 106 may be implemented, in some embodiments, as one or morenetworks that connect devices and/or components in network layout 100for allowing communication between them. For example, as one of ordinaryskill in the art will recognize, network 106 may be implemented as theInternet, a wireless network, a wired network, a local area network(LAN), a Wide Area Network (WANs), Bluetooth, Near Field Communication(NFC), or any other type of network that provides communications betweenone or more components of network layout 100. In some embodiments,network 106 may be implemented using cell and/or pager networks,satellite, licensed radio, or a combination of licensed and unlicensedradio. Network 106 may be wireless, wired, or a combination thereof.

User matching system(s) 110 may be implemented as one or more computersstoring instructions that, when executed by processor(s), process userinput from user device 102 in order to determine the user's milestonesand needs, and to match the user to someone who have experienced, areexperiencing, or are likely to experience the life events that the useris interested in. User matching system(s) 110 may search, retrieve, andanalyze data and information stored in database(s) 108. The data andinformation may include questions, comments, and insights relating todifferent SLTs, milestones and/or the user's needs. In some embodiments,server 104 may be the computer in which user matching system(s) 110 areimplemented.

However, in some embodiments, at least some of user matching system(s)110 may be implemented on separate computers. For example, user device102 may send a user input to server 104, and server 104 may connect touser matching system(s) 110 over network 106 to retrieve, filter, andanalyze data from database(s) 108. In other embodiments, user matchingsystem(s) 110 may represent software that, when executed byprocessor(s), perform processes for determining the user's needs, andmatching the user to someone who have experienced, are experiencing, orare likely to experience the life events that the user is interested in.

For example, server 104 may access and execute user matching system(s)110 to perform one or more processes consistent with the disclosedembodiments. In certain configurations, user matching system(s) 110 maybe software stored in memory accessible by server 104 (e.g., in memorylocal to server 104 or remote memory accessible over a communicationlink, such as network 106). Thus, in certain aspects user matchingsystem(s) 110 may be implemented as one or more computers, as softwarestored on a memory device accessible by server 104, or a combinationthereof. For example, one user matching system(s) 110 may be a computerexecuting one or more matching techniques, and another user matchingsystem(s) 110 may be software that, when executed by server 104,performs one or more user matching techniques.

The user matching system(s) 110 can assist in matching the user tosomeone who have experienced, are experiencing, or are likely toexperience the life events that the user is interested in. As previouslydescribed, such events may be related to significant life transitions(SLTs), for example, going to college, getting married, having children,starting a business, getting divorced, retirement, relocation, ordiagnosed with a terminal illness, among others. User matching system(s)110 may be configured to perform user matching for the user using aplurality of ways. For example, one of user matching system(s) 110 maystore and/or execute software that performs an algorithm for processinguser input, identifying an event from the user input, determiningrelevant milestone(s) and need(s) associated with the event, and findinga match for the user. Another of user matching system(s) 110 may storeand/or execute software that performs an algorithm for defining andclassifying a plurality of topics relating to those milestone(s) andneed(s). Another of user matching system(s) 110 may store and/or executesoftware that performs an algorithm for searching and extractingquestions stored in one of database(s) 108 relating to thosetopics/milestone(s). Another of user matching system(s) 110 may storeand/or execute software that performs an algorithm for searching andextracting insights and comments stored in one of database(s) 108relating to those topics or milestone(s). Another of user matchingsystem(s) 110 may store and/or execute software that performs analgorithm for filtering the questions and insights, and matching thefiltered questions/insights to the user's needs/milestones. Another ofuser matching system(s) 110 may store and/or execute software thatperforms an algorithm for sorting the matched insights/questions, andproviding personalized recommendations to the user based on the user'smilestones, timeline and needs. Another of user matching system(s) 110may store and/or execute software that performs an algorithm formatching the user to someone who have experienced, are experiencing, orare likely to experience the life events that the user is interested in.The disclosed embodiments may be configured to implement user matchingsystem(s) 110 such that a variety of algorithms may be performed forperforming one or more user matching techniques. Although a plurality ofuser matching system(s) 110 have been described for performing the abovealgorithms, it should be noted that some or all of the algorithms may beperformed using a single user matching system 110, consistent withdisclosed embodiments.

User device 102, server 104, and user matching system(s) 110 may beconnected or interconnected to one or more database(s) 108. Database(s)108 may be one or more memory devices configured to store data.Additionally, database(s) 108 may also, in some embodiments, beimplemented as a computer system with a storage device. In one aspect,database(s) 108 may be used by components of network layout 100 toperform one or more operations consistent with the disclosedembodiments.

In one embodiment, database(s) 108 may comprise storage containing avariety of data sets consistent with disclosed embodiments. For example,database(s) 108 may include, for example, data from the internet. Thedata may include lists of questions and answers relating to SLTs thatmay be obtained from reputable/reliable websites, or the like. Forexample, if a SLT relates to cancer, the questions and answers may beobtained from a reputable website operated by the American CancerSociety. In some embodiments, database(s) 108 may include crowd-sourceddata comprising comments and insights relating to SLTs obtained frominternet forums and social media websites. The Internet forums andsocial media websites may include personal and/or group blogs,Facebook™, Twitter™, Reddit™, etc. Additionally, in some embodiments,database(s) 108 may include crowd-sourced data comprising comments andinsights relating to SLTs, whereby those comments and insights aredirectly input by one or more contributors into the user matchingsystem(s) 110. The crowd-sourced data may contain up-to-date or currentinformation on SLTs, how to handle SLTs, milestones in each SLT, etc.The crowd-sourced data may be provided by other users or contributorswho have experience with those SLTs. For example, those users orcontributors may be currently undergoing a SLT, about to complete a SLT,or completed a SLT. It is noted that those users or contributors may beat different phases within a SLT.

In certain embodiments, one or more database(s) 108 may be co-locatedwith server 104, may be co-located with one another on network 106, ormay be located separately from other devices (signified by the dashedline connecting one of database(s) 108). One of ordinary skill willrecognize that the disclosed embodiments are not limited to theconfiguration and/or arrangement of database(s) 108.

Any of user device 102, server 104, database(s) 108, or user matchingsystem(s) 110 may, in some embodiments, be implemented as a computersystem. Additionally, while network 106 is shown in FIG. 1 as a“central” point for communications between components of system 100, thedisclosed embodiments are not so limited. For example, one or morecomponents of network layout 100 may be interconnected in a variety ofways, and may in some embodiments be directly connected to, co-locatedwith, or remote from one another, as one of ordinary skill willappreciate. Additionally, while some disclosed embodiments may beimplemented on server 104, the disclosed embodiments are not so limited.For instance, in some embodiments, other devices (such as user matchingsystem(s) 110 and/or database(s) 108) may be configured to perform oneor more of the processes and functionalities consistent with thedisclosed embodiments, including embodiments described with respect toserver 104.

Although particular computing devices are illustrated and networksdescribed, it is to be appreciated and understood that other computingdevices and networks can be utilized without departing from the spiritand scope of the embodiments described herein. In addition, one or morecomponents of network layout 100 may be interconnected in a variety ofways, and may in some embodiments be directly connected to, co-locatedwith, or remote from one another, as one of ordinary skill willappreciate.

FIG. 2 illustrates an exemplary timeline window 200 in accordance withsome embodiments. Window 200 may be indicative of a timeline of a SLT,whereby a plurality of different users, feeds, and milestones areprovided along the timeline. In other words, window 200 may represent amap of users and milestones along the timeline.

In FIG. 2, a timeline 210 is depicted. The timeline may be associatedwith a SLT or life event. The chronology order of the timeline mayextend from left to right. A plurality of users 212 a, 212 b, and 212 cand a plurality of milestones or steps (e.g., Chemo 1 and Chemo 2) maybe displayed along the timeline. Users can tag, bookmark, forward,comment, delete, or ‘like’ a feed. As shown in FIG. 2, user 212 a hasyet to go through milestone Chemo 1, user 212 b has already gone throughmilestone Chemo 1 but has yet to go through milestone Chemo 2, and user212 c has already gone through both milestones Chemo 1 and Chemo 2.Thus, user 212 c is furthest along the SLT journey (possibly the mostexperienced), whereas user 212 a may have just embarked on the SLTjourney (possibly the least experienced). Users 212 a, 212 b, and 212 ccan anticipate which and when the milestones on the SLT journey are, bylooking at the timeline and comparing their present positions relativeto the milestones. During the matching process, user 212 a may bematched to user 212 b because user 212 b may provide insights regardingChemo 1 to the user 212 b. Similarly, user 212 a can also be matched touser 212 c because user 212 c may provide insights regarding Chemo 1 andChemo 2 to user 212 a. Likewise, user 212 b can also be matched to user212 c because user 212 c may provide insights regarding Chemo 2 to theuser 212 b.

FIG. 3 illustrates an exemplary SLT map 300 in accordance with someembodiments. Map 300 may include a plurality of SLTs such as collegeeducation, job hunt, marriage, divorce, retirement, a terminal illness(e.g., cancer), and/or caregiving. Each SLT may be represented by atimeline of a different color. For example, caregiving may berepresented by a red timeline, and cancer may be represented by a purpletimeline. It is noted that any type of visual scheme comprisingdifferent shapes, colors, icons, etc. can be used to illustrate thedifferent SLTs. In some cases, the SLT timelines may be interconnectedto one another. For example, job hunt may be preceded by collegeeducation, and divorce may be preceded by marriage. A user mayexperience some or all of these SLTs at different stages of their lives.In some instances, more than one SLT may occur during a same stage ofthe user's life (e.g., terminal illness occurring during retirement).

FIG. 4 illustrates exemplary user interfaces 402 and 404 in accordancewith some embodiments. In the example of FIG. 4, the user interface 402may comprise a plurality of questions corresponding to one or moremilestones for the user to answer. The answers to these questions forthe one or more milestones may allow the user matching platform touncover the user's experience and help the user to discover his/hermatch. For instance, the user interface 402 may comprise a plurality ofmilestones or steps related to motherhood. The milestones may comprise“holding your baby for the first time” and “breastfeeding your baby.”The number of milestones may be at least 1, 5, 10, 15, 20, 25, 30, 35,40, 45, 50 or greater. In some cases, the number of milestones may be atmost 50, 45, 40, 35, 30, 25, 20, 15, 10, 5, or less. The choices theuser can pick may comprise “been there” or “follow.” Based on thechoices that user makes, the user matching platform may show the user alist of people who have experienced some or all of the milestones thatthe user is interested in. For example, the user interface 404 shows alist of at least 9 people who have experienced some or all of themilestones that the user is interested in. The people in the list may bearranged from top to bottom based on the number of shared steps with theuser the person having the most number of shared steps may be positionednear the top of the viewing screen to signify that the person is likelyto be closest match. In the example of FIG. 4, the person, Jennifer inthe user interface 404, may be arranged near the top of the list in userinterface 404 because Jennifer has the most number of shared steps withthe user. The user may invite the at least 9 people (or any number ofrecommended matches) in the user interface 404 to be friends with theuser. If the user connects with any of the at least 9 people as afriend, the user may start communication with the person.

FIG. 5 illustrates exemplary user interfaces 502 and 504 in accordancewith some embodiments. In the example of FIG. 5, the user may use theuser matching platform to find other people who have experienced acareer change. The user interfaces 502 and 504 may comprise a pluralityof questions corresponding to one or more milestones for the user toanswer. The answers to these questions may allow the user matchingplatform to uncover the user's experience and help the user to discoverhis/her match. For instance, the user interfaces 502 and 504 maycomprise a plurality of milestones, including “seeking a real change,”“finding your purpose,” “becoming passionate about a cause,” “gettingrecruited,” and “witnessing a traumatic situation.” The choices the usercan pick may comprise “been there” or “follow.” When selecting thechoices, the user can also provide his/her own insights of theexperience by adding one or more steps that might have been missed.After the user selects the choices, the user may view on the userinterfaces as to how many people the user can help or provide guidanceto, and conversely how many people the user can receive help or guidancefrom. For instance, in user interface 502, after the user selects thathe/she has “been there” for seeing a real change and finding thepurpose, the user can see from the bottom of the user interface 502 thatthe user may be able to help or provide guidance to 5239 people, andthere are 652 people who may be able to help or provide guidance to theuser. The user can also save/store the findings or search results byselecting the save bottom on the right bottom of the user interface 502.Similarly, in user interface 504, after the user selects that he/she has“been there” for becoming passionate about a cause and gettingrecruited, and “follows” witnessing a traumatic situation, the user cansee from the bottom of the user interface 504 that the user may be ableto help or provide guidance to 478 people, and conversely there are 181people who may be able to help or provide guidance the user. The usercan also save/store the findings or search results by selecting the savebottom on the right bottom of the user interface 504.

FIG. 6 illustrates exemplary user interfaces 602 and 604 in accordancewith some embodiments. In the example of FIG. 6, the user may havealready selected the choices to a plurality of questions correspondingto one or more milestones regarding relationship advice. The user maythen use the user matching platform to find people who can providerelationship advice. The user matching platform may show the user a listof people who have experienced some or all of the milestones that theuser has experienced regarding relationship advice. For example, theuser interface 602 shows a list of at least 9 people who haveexperienced some or all of the milestones that the user has experiencedduring relationships. The list of people may be arranged from top tobottom based on the number of the shared steps with the user the personhaving the most number of shared steps may be positioned near the top ofthe viewing screen to signify that the person is likely to be closestmatch. The person, Rachel as shown in the user interface, may bearranged near the top of the list in user interface 602 because Rachelhas the most number of shared steps with the user. The user may inviteone or more people in the list (on the user interface 604) to be afriend. If the user connects with any of the people on the list as afriend, the user may start communicating with the person to learn fromor share wisdom with the person. The user interface may comprise acouple of selections when the user first logs into the user matchingplatform. For instance, in the user interface 604, when logging in, theuser may select among the options including “connect with people likeyou,” “join the live conversation,” “add more experiences,” and “back tomy profile.”

FIG. 7 illustrates exemplary user interfaces 702 and 704 in accordancewith some embodiments. In the example of FIG. 7, the user matchingplatform may provide recommendations to the user through trending orexplore tabs. The user may be able to see trending information regardingany SLT provided by others. For instance, in user interface 702, Sabrinais providing relationship advice to others and 5 other people havereplied, and Emily is providing information on how to cope withdepression, and 429 other people have replied. The user may also be ableto explore other interesting communities and information. For instance,in user interface 704, the user may see the communities he/she is ableto explore, and the communities may include coping with depression,relationship advice, anxiety, and being body positive.

FIG. 8 illustrates exemplary user interfaces 802 and 804 in accordancewith some embodiments. The user matching platform may provide comparisonbetween two users. In the example of FIG. 8, the user may see theprofile of others in the user matching platform. For instance, in theuser interface 802, the user can see the profile of Yamen regradingYamen's experiences. In this example, Yamen has been thorough 2 stepsthat the user is following, and conversely the user has been through 5steps that Yamen is following. The user can also see that he/she canhelp Yamen regarding the step “understanding yourself,” and both of theuser and Yamen are following the step “understanding the needs.” In FIG.8, the user can also connect with other users who share some or all ofthe milestones with the user regarding an SLT. For instance, in the userinterface 804, the user may connect to Mitch and is able to start acommunication with Mitch. During the communication, the user can askMitch questions regarding the milestones of the SLT, or Mitch can askthe user questions regarding the milestone of the SLT.

FIGS. 9A-9C illustrates exemplary user interfaces regarding matching ofusers through a buddy program. In the example of FIGS. 9A-9C, the usermay go through a plurality of user interfaces to find a match through abuddy program. For instance, in the first user interface 902, the useris asked by the user matching platform to join the buddy program. If theuser selects “join today,” the user may see the next user interface 904to select which experience to talk about. In the user interface 904, theuser can select one or more options including depression, addiction,motherhood, and anxiety. In the next user interface 906, the usermatching platform may ask the user how often the user would like to talkto his/her helper (e.g. mentor), and the user may select once, 3-5times, or as much as needed. In the next user interface 908, the usermatching platform may ask the user to enter his/her personalinformation, including, birthday, personality, city of birth, andhobbies. In the next user interface 910, the user matching platform mayask the user to introduce himself/herself to the helper (e.g. mentor).The introduction may comprise information regarding why the user hasjoined the user matching platform, whether the user has reached out forhelp in the past, and how and in what ways the helper (e.g. mentor) canhelp the user the most. The next user interface 912 may allow the userto choose one of a plurality of helpers (e.g. mentors).

FIG. 10 shows an example of monthly increase in contribution, driven bymatching optimization. In chart 1002, the personal message conversionrate is shown to increase between January and June. In chart 1004, thepersonal message conversion rate is shown to increase from January toMay. In chart 1006, the group chat conversion rate is shown to increasefrom February to May.

FIG. 11 shows an example of monthly increase in meaningfulconversations, driven by superior matching. In chart 1102, thepercentage of personal message users aged 20 years or older in totalpersonal message users is shown to increase from January to June. Inchart 1104, the daily active users (DAU) to monthly active users (MAU)ratio is shown to decrease from February to May.

FIG. 12 shows exemplary connections among different steps regardinganxiety. In FIG. 12, the different steps may comprise stoppingmedication, helping others with anxiety, regaining control, usinganxiety as a defense mechanism, learning what triggers panic,appreciating your life more, opening up about your anxiety, changingyour diet, reaching out for help, trying alternative methods to sootheanxiety, going to therapy, receiving a diagnosis, observing yourthoughts, confronting feared situations, developing a new relationshipwith anxiety, learning how to let something slide, learning relaxationtechniques, seeing your relationship suffer, having panic attacks,surrounding yourself with positive vides, knowing your career has beenimpacted, being stuck in a stress spiral, engaging in positiveself-talk, finding activities that relax your mind, hiding your anxietyfrom others, having phobias and irrational fears, establishing a routinethat works for you, experiencing a stressful circumstances, exercisingregularly, getting evaluated by a professional, worrying excessively,finding helpful books or references, developing sleep problems, a childwith anxiety, among others. The different steps may be interconnected ina multiple of ways or possibilities.

FIG. 13 shows exemplary connections among different steps regardinglesbian, gay, bisexual, and transgender (“LGBTQ”). In FIG. 13, thedifferent steps may comprise knowing that you are living truly andfreely, searching for a supportive religious framework, becoming anadvocate, preparing a same sex wedding, entering the LGBTQ dating scene,attending pride events, feeling confident about your identity,introducing your partner to your family, dealing with negative socialstigma, falling in love, coping with homophobia and judgement, acceptingyourself, choosing a method of becoming a parent, waiting for loved onesto accept you, learning about LGBTQ sex, realizing that you do not fitinto the norm, coming out to friends, experiencing hate crime, copingwith negative responses, seeking LGBTQ support, dealing with religiousintolerance, feeling confused and misunderstood, acknowledging your trueidentity, preparing for negative reactions, coming out to familymembers, coming out publicly, giving people time to digest the news,starting to question your sexuality, realizing a loved one will nextaccept you, feeling afraid of people's responses, developing your firstsame sex crush, coming out to colleagues, feeling ready to come outpublicly, keeping your sexual identity secret, feeling depressed, comingout to your partner or spouse, experimenting with your sexuality,rehearsing that coming out talk, secretly living a double life,experience homophobia towards yourself, balancing your sexual identitywith your religious identity, among others. The different steps may beinterconnected in a multiple of ways or possibilities.

FIG. 14 shows exemplary connections provided predictive methods. In FIG.14, the connections may be represented by the solid lines. Theconnections may be discovered by artificial intelligence predictivemethods. The connections may demonstrate subsequent experiences. Theconnections may predict subsequence steps at an accuracy of at least 2,3, 4, 5, 6, 7, 8, 9, or 10 times more accurate than traditional methods.For instance, the subsequent experience of college may be anxiety,subsequent experience of finding dream job may be relationship advice,and the subsequent experience of caregiving may be body positive. Inanother example, the subsequent step of choosing a pediatrician may berecovering from birth, the subsequent step of coming out to friends maybe coming out to colleagues, and the subsequent step of balancingstudies and personal life may be worrying excessively. In FIG. 12, theconnections may be demonstrated among events such as caregiving,motherhood, pregnancy, relationship advice, infertility, going vegan,pregnancy loss, chronic pain, autism, dream job, college, body positive,heartbreak, headaches and migraines, ADHD, OCD, relocation, getmotivated, acne, coping with bullying, death of a beloved pet, anxiety,sexual assault, coping with depression, epilepsy and seizures,overcoming addiction, eating disorder, LGBTQ, gender transitioning,genetic testing for adoptees, and bipolar disorder.

FIG. 15 shows an example of life's most intense junctions. In each chart1502 or 1504, the bar shape in the chart may represent the intensity ofeach step in each life event. For instance, in chart 1502, the intensityof breastfeeding may be around 80 in the life event of becoming mom, andin chart 1504, the intensity of seeing a therapist is around 700 in thelife event of overcoming depression.

FIG. 16 shows an example of finding someone “have been” to becoming amom. In FIG. 16, determining where users “have been” and where they areheading may comprise onboarding filters and prompts 1602, creatingpersonal timeline and insights 1604, 1:1 and 1:group interactions 1606,and test analysis regarding step specific questions and answers 1608.There may be step specific questions to be answered by the user, forexample: what is a tip you would give to working moms of young kids;anyone have a preemie; is the baby supposed to be rolling over, ortrying to pull up; my 9 year old is asking about sex, and is there agood sex education book I should use; I've tried everything to help putmy four year old to sleep, including giving her so much orange foods shehad an orange tinge. Anyone got a tip; I was taken by surprise the otherday by the first sex-ed question (how did the baby get into your tummy?)from my 4 year old! What should I say; what helped you gals through thetransition of becoming a new mommy; is there anyone in Colorado that isa stay at home mom; when did you all start your babies on solids; shouldI get my son a phone; and what are the pros and cons.

If the life event is overcoming depression, the step specific questionsto be answered by the user may comprise: do you think women are morelikely than men to neglect their mental state; summer, did you tryhomeopathic treatments that can soothe yours attacks; anxiety candefinitely encourage depressive episodes for me so I feel your pain; hasanyone here ended up with a cognitive impairment due to ECT; has anyonefound Depakote to cause anger side effects; how do you all help a spouseunderstand that I'll never “get over it”, and all I can do is manage thedepression/anxiety; TMS didn't work. Pretty nervous about it butconsidering ECT. Does anyone have experience with it; so has anyone herebeen this bad and found your way back again? How; and sometimes I put onsome loud music and either sing along or dance it out. It distracts andshifts moods sometimes and is good for bouncing back.

FIG. 17A shows exemplary methods used by the user matching platform, inaccordance with some embodiments. Four different methods, 1702, 1704,1706, and 1708, are presented in FIG. 17. The method 1702 may be relatedto “similar/learn” (SL), which means the user may learn from others whohave been there and had similar experiences to the user. The method 1702may comprise the following steps: matching the user with people who havesimilar experiences with the user, determining that the purpose of theconversation is to learn something about the new experiences,determining that the match has been there at the same steps as the user,and determining that the conversation is dealing with past, current andfuture experiences. The method 1704 may be related to “different/learn”(DL), which means the user may learn from others who had differentexperiences from the user. The method 1704 may comprise the followingsteps: matching the user with people who have different experiences withthe user, determining that the purpose of the conversation is to learnsomething about the new experiences, determining that the match has notbeen there at the same steps as the user, and determining that theconversation is dealing with past, current and future experiences. Themethod 1706 may be related to “similar/validate” (SV), which means theuser may validate his/her experiences with others who have been thereand had similar experiences to the user. The method 1706 may comprisethe following steps: matching the user with people who have similarexperiences with the user, determining that the purpose of theconversation is to validate the past experiences of the user,determining that the match has been there at the same steps as the user,and determining that the conversation is dealing with past and currentexperiences. The method 1708 may be related to “different/validate”(DV), which means the user may validate his/her experiences with otherwho have had different experiences than the user. The method 1708 maycomprise the following steps: matching the user with people who havedifferent experiences with the user, determining that the purpose of theconversation is to validate the past experiences of the user,determining that the match has not been there at the same steps as theuser, and determining that the conversation is dealing with past andcurrent experiences.

FIG. 17B shows an example of conversations coded by type. In FIG. 17B,75 pages of a Breast Cancer group chat are analyzed. The user matchingplatform may categorize what type of Conversation Purpose and Match(SV/SL/DL/DV) are in the group chat. The user matching platform maycount the instances of each type and recorded it below in the ASKcolumns. The user matching platform may also count/record how manyAnswers/Replies these different types of questions may generate (this isshown in the ANSWER column). The conversations may include greetings,introductions, comments, statements and general replies that aren't tiedto the type of Conversation Purpose and Match. These may be recorded inthe OTHER category.

FIG. 18 shows an example of user base. The users may be largely from UScollege educated women, who are married, in their middle age, and holdaverage income.

FIG. 19 shows an example of emotional states of the users. The matrixmay denote the key emotional state and drive for the different personas.

FIGS. 20A-20B show an example of persona sensitive notification cyclefor Kirsten. In the FIGS. 20A-20B, Kirsten may respond best tonotifications that feed her underlying intent and mirror her emotionalstate; and Kirsten may respond best to prompts that model certainbehaviors demonstrated in the figures.

Computer Control Systems

The present disclosure provides computer control systems that areprogrammed to implement methods of the disclosure. FIG. 21 shows acomputer system 2101 that is programmed or otherwise configured toimplement a method for assisting a user in user matching. As previouslydescribed, such events may be related to significant life transitions(SLTs), for example, going to college, getting married, having children,starting a business, getting divorced, retirement, relocation, ordiagnosed with a terminal illness, among others. The computer system2101 can store and/or execute software that performs an algorithm forprocessing user input, identifying an event from the user input,determining relevant milestone(s) and need(s) associated with the event,and matching user with someone who has experienced, is experiencing, oris likely to experience the same life event. The computer system 2101can be an electronic device of a user or a computer system that isremotely located with respect to the electronic device. The electronicdevice can be a mobile electronic device.

The computer system 2101 includes a central processing unit (CPU, also“processor” and “computer processor” herein) 2105, which can be a singlecore or multi core processor, or a plurality of processors for parallelprocessing. The computer system 2101 also includes memory or memorylocation 2110 (e.g., random-access memory, read-only memory, flashmemory), electronic storage unit 2115 (e.g., hard disk), communicationinterface 2120 (e.g., network adapter) for communicating with one ormore other systems, and peripheral devices 2125, such as cache, othermemory, data storage and/or electronic display adapters. The memory2110, storage unit 2115, interface 2120 and peripheral devices 2125 arein communication with the CPU 2105 through a communication bus (solidlines), such as a motherboard. The storage unit 2115 can be a datastorage unit (or data repository) for storing data. The computer system2101 can be operatively coupled to a computer network (“network”) 2130with the aid of the communication interface 2120. The network 2130 canbe the Internet, an internet and/or extranet, or an intranet and/orextranet that is in communication with the Internet. The network 2130 insome cases is a telecommunication and/or data network. The network 2130can include one or more computer servers, which can enable distributedcomputing, such as cloud computing. The network 2130, in some cases withthe aid of the computer system 2101, can implement a peer-to-peernetwork, which may enable devices coupled to the computer system 2101 tobehave as a client or a server.

The CPU 2105 can execute a sequence of machine-readable instructions,which can be embodied in a program or software. The instructions may bestored in a memory location, such as the memory 2110. The instructionscan be directed to the CPU 2105, which can subsequently program orotherwise configure the CPU 2105 to implement methods of the presentdisclosure. Examples of operations performed by the CPU 2105 can includefetch, decode, execute, and writeback.

The CPU 2105 can be part of a circuit, such as an integrated circuit.One or more other components of the system 2101 can be included in thecircuit. In some cases, the circuit is an application specificintegrated circuit (ASIC).

The storage unit 2115 can store files, such as drivers, libraries andsaved programs. The storage unit 2115 can store user data, e.g., userpreferences and user programs. The computer system 2101 in some casescan include one or more additional data storage units that are externalto the computer system 2101, such as located on a remote server that isin communication with the computer system 2101 through an intranet orthe Internet.

The computer system 2101 can communicate with one or more remotecomputer systems through the network 2130. For instance, the computersystem 2101 can communicate with a remote computer system of a user(e.g., an end user, a contributor, a curator, an entity, etc.). Examplesof remote computer systems include personal computers (e.g., portablePC), slate or tablet PC's (e.g., Apple® iPad, Samsung® Galaxy Tab),telephones, Smart phones (e.g., Apple® iPhone, Android-enabled device,Blackberry®), or personal digital assistants. The user can access thecomputer system 2101 via the network 2130.

Methods as described herein can be implemented by way of machine (e.g.,computer processor) executable code stored on an electronic storagelocation of the computer system 2101, such as, for example, on thememory 2110 or electronic storage unit 2115. The machine executable ormachine readable code can be provided in the form of software. Duringuse, the code can be executed by the processor 2105. In some cases, thecode can be retrieved from the storage unit 2115 and stored on thememory 2110 for ready access by the processor 2105. In some situations,the electronic storage unit 2115 can be precluded, andmachine-executable instructions are stored on memory 2110.

The code can be pre-compiled and configured for use with a machinehaving a processor adapted to execute the code, or can be compiledduring runtime. The code can be supplied in a programming language thatcan be selected to enable the code to execute in a pre-compiled oras-compiled fashion.

Aspects of the systems and methods provided herein, such as the computersystem 2101, can be embodied in programming. Various aspects of thetechnology may be thought of as “products” or “articles of manufacture”typically in the form of machine (or processor) executable code and/orassociated data that is carried on or embodied in a type of machinereadable medium. Machine-executable code can be stored on an electronicstorage unit, such as memory (e.g., read-only memory, random-accessmemory, flash memory) or a hard disk. “Storage” type media can includeany or all of the tangible memory of the computers, processors or thelike, or associated modules thereof, such as various semiconductormemories, tape drives, disk drives and the like, which may providenon-transitory storage at any time for the software programming. All orportions of the software may at times be communicated through theInternet or various other telecommunication networks. Suchcommunications, for example, may enable loading of the software from onecomputer or processor into another, for example, from a managementserver or host computer into the computer platform of an applicationserver. Thus, another type of media that may bear the software elementsincludes optical, electrical and electromagnetic waves, such as usedacross physical interfaces between local devices, through wired andoptical landline networks and over various air-links. The physicalelements that carry such waves, such as wired or wireless links, opticallinks or the like, also may be considered as media bearing the software.As used herein, unless restricted to non-transitory, tangible “storage”media, terms such as computer or machine “readable medium” refer to anymedium that participates in providing instructions to a processor forexecution.

Hence, a machine readable medium, such as computer-executable code, maytake many forms, including but not limited to, a tangible storagemedium, a carrier wave medium or physical transmission medium.Non-volatile storage media include, for example, optical or magneticdisks, such as any of the storage devices in any computer(s) or thelike, such as may be used to implement the databases, etc. shown in thedrawings. Volatile storage media include dynamic memory, such as mainmemory of such a computer platform. Tangible transmission media includecoaxial cables; copper wire and fiber optics, including the wires thatcomprise a bus within a computer system. Carrier-wave transmission mediamay take the form of electric or electromagnetic signals, or acoustic orlight waves such as those generated during radio frequency (RF) andinfrared (IR) data communications. Common forms of computer-readablemedia therefore include for example: a floppy disk, a flexible disk,hard disk, magnetic tape, any other magnetic medium, a CD-ROM, DVD orDVD-ROM, any other optical medium, punch cards paper tape, any otherphysical storage medium with patterns of holes, a RAM, a ROM, a PROM andEPROM, a FLASH-EPROM, any other memory chip or cartridge, a carrier wavetransporting data or instructions, cables or links transporting such acarrier wave, or any other medium from which a computer may readprogramming code and/or data. Many of these forms of computer readablemedia may be involved in carrying one or more sequences of one or moreinstructions to a processor for execution.

The computer system 2101 can include or be in communication with anelectronic display 2135 that comprises a user interface (UI) 2140 forproviding, for example, a user portal for user matching. A user can viewtimelines, journeys, milestones, events, steps, topics, insights,forums, etc. via the portal. The portal may be provided through anapplication programming interface (API). A user or entity can alsointeract with various elements in the portal via the UI. Examples ofUI's include, without limitation, a graphical user interface (GUI) andweb-based user interface.

Methods and systems of the present disclosure can be implemented by wayof one or more algorithms. An algorithm can be implemented by way ofsoftware upon execution by the central processing unit 2105. Forexample, the algorithm may be configured to process user input, identifyan event from the user input, determine relevant milestone(s) andneed(s) associated with the event, and match the user with people whohave experienced, are currently experiencing, or likely to experience inthe future the life event of the user. The algorithm may also beconfigured to define and classify a plurality of topics relating tothose milestone(s) and need(s). The algorithm may also be configured tosearch and extract questions stored in one or more database(s) relatingto those topics/milestone(s). The algorithm may also be configured tosearch and extract insights and comments stored in one or moredatabase(s) relating to those topics or milestone(s). The algorithm mayalso be configured to filter the questions and insights, and match thefiltered questions/insights to the user's needs/milestones. Thealgorithm may also be configured to sort the matched insights/questions,and provide personalized recommendations to the user based on the user'smilestones, timeline and needs. The algorithm may also be configured tomatch the user with people who have experienced, are currentlyexperiencing, or likely to experience in the future the life event ofthe user. A variety of algorithms may be performed for performing one ormore user matching techniques.

EXAMPLES

These examples are provided for illustrative purposes only and not tolimit the scope of the claims provided herein.

Example 1: Calculation of the Raw Scores

In this example, two scenarios are considered, and been-there been there(BB) scores are calculated.

Scenario 1: User A has indicated “Been-There” in 4 steps, and user B hasindicated “Been-There” in at least 2 steps, including 2 of the stepsindicated by user A. In other words, 50% of the steps are shared byusers A and B. The AbsCountCoef term is set to 1 for this example. Inthis case, the BB raw score would be calculated as described above, suchthat:

BB=2/4+1=2/5

Notice that the value of BB is not equal to the fraction of sharedsteps, and that the value of BB is independent of the number of stepstaken by user B.

Scenario 2: User A has indicated “Been-There” in 8 steps, and user B hasindicated “Been-There” in at least 4 steps, including 4 of the stepsindicated by user A. In other words, 50% of the steps are shared byusers A and B. The AbsCountCoef term is set to 1 for this example. Inthis case, the BB raw score would be calculated as described above, suchthat:

${BB} = {\frac{4}{8 + 1} = {4\text{/}9}}$

Notice that the value of BB is again not equal to the fraction of sharedsteps, and that the value of BB is independent of the number of stepstaken by user B. However, notice that the score is also not the same asthe BB score in scenario 1, even though the fraction of shared steps isthe same. In fact, it is larger, because more total steps are shared byusers A and B.

Example 2: User Parameters

In one example, while using the application or platform, users may havecreated profiles, followed journeys, events and timelines, joinedgroups, messaged other users, and replied to other users. Users may alsohave indicated their anxiety, how they coped with ailments includingdepression, and asked questions. Any one or more of these may be ameasure of how good a match is. To probe this, match success, asdetermined by conversation progression, can be determined based on avariety of parameters. User parameters, or features, analyzed mayinclude the average of the total number of messages a user posted perchat room that the user is active in, the typical amount of time ittakes the user to reply to a message in minutes, the average number ofmessages posted in a chat room per day, the total number of threads theuser started, the total number of heart reactions from the user, thetotal number of questions the user posed to a group, the total number oftimes the user reacted to another user, the total number of mediamessages as a fraction of all messages the user sent, the total numberof personal messages as a fraction of all messages the user sent, themost active journey the user is active in, the number of steps the userhas traversed with regards to coping with depression, whether or not theuser has filled out a biography or profile information, the typicalnumber of steps the user has completed per journey, the typical numberof steps the user indicates feeling anxious about, the typical number ofmessages sent in the app per day, the average length of personalmessages sent by the user, the total number of Been-There reactionssubmitted by the user, the total number of mutual steps the user shareswith a matched user in the journey for which they were matched, thetypical number of messages the user wrote on days the user wrotemessages, the total number of personal questions the user asked inresponse to personal messages, the gender of the user, the country theuser resides in, whether a matched user resides in the same country asthe user, the portions of all the user's reactions which are of the type“Been-There”, the total number of relationship advice steps the user hastraversed, the total number of group messages the user participated inper day the user was logged into the app, the typical number ofinsightful reactions the user has for each user they are matched with,the number of personal rooms the user is in, the proportion of theuser's reactions which are heart reactions, the typical message lengthof messages written by the user, the total number of body positive stepsthe user has traversed, and whether or not the user is the same genderas the user they are interacting with. These were all calculated fromthe perspective of user B, or the user who was recommended as the match.Features may be compiled and arranged based on the match success ofmatches with such features,

A G-test can be implemented to determine how valuable the user is as amatch. In general, a higher G{circumflex over ( )}2 value indicatesbetter value as a match. In other words, features with higherG{circumflex over ( )}2 values are more indicative of how good the matchis compared to features with lower G{circumflex over ( )}2 values.Examples of such data are shown in FIG. 22. In this data set, theaverage of the total number of messages a user posted per chat room thatthe user is active in was most indicative of how good that user is as amatch suggestion. In this example, the average of the total number ofmessages the user posted per chat room that the user is active in wasthe most predictive of match success.

Example 3: Thread Initiators vs. Repliers

While using the application or platform, users can initiate and reply tothreads to message and respond to other users. The methods describedherein can be used to determine if a match was more successful or lesssuccessful, based on a thread initiator or a thread replier that wassuggested as user B. Here, thread initiators are users who frequentlyinitiate threads, and thread repliers are users who frequently reply tothreads initiated by others.

Data for each user can be plotted as the success of matches involvingthat user as a function of the average number of threads the userreplied to (e.g. FIG. 23A), the closeness of a user as a match versusthe total number of threads the user started (e.g. FIG. 23B), and thecloseness of a user as a match versus the average number of threads theuser started (e.g. FIG. 23C). A chi-squared analysis can be performed todetermine closeness of match based on each horizontal axis parameter. Inthis example, the average number of threads the user started was mostindicative of a successful match. In other words, users who started morethreads on average in groups they were part of were more valuable asmatches for other users, than users who started fewer threads onaverage.

Example 4: Top Journey

In this example, the platform can determine which users are morevaluable to each other if their top journey is the same, where the topjourney is the major journey or life event they are going through at themoment. The platform can also determine know if this metric is the samefor each journey.

To measure the above, for a plurality of users, the platform can countthe number of worst conversations and best conversations, where theconversations were between two users sharing the same top journey. Theplatform can tally the total number of conversations, total number ofworst conversations, total number of top conversations, and thepercentage of conversations which were top conversations, etc. In theabove method, a higher percentage of conversations which are topconversations is indicative that the journey for which the metric iscalculated has a higher user matching success rate when both users sharethe journey as their top journey. An example of the data is shown inFIG. 24, which indicates that the heartbreak journey relies heavily onthe users sharing the journey as a top journey for a good match, whilethe body positive journey relies least heavily on the users sharing thejourney as a top journey for a good match.

Example 5: Role of Gender in Determining Goodness of Match

In this example, the platform can determine whether male or female userswere more valuable when proposed as a match to a different user asmeasured by initiation of conversations. To this end, for users using anapp implemented with one or more of the matching algorithms describedherein, the platform can tally the number of male and female users whichwere recommended as a match, as well as the genders of the users theywere matched to. The platform can tally the numbers and average lengthsof such conversations, and noted who initiated each conversation. Theplatform can apply a chi square analysis, and determine thatconversations initiated by a female and accepted by a male were twice asvaluable than conversations initiated by a male and accepted by afemale. The data for this example is depicted in FIG. 25.

Example 6: Role of a Completed Biography in Determining Goodness ofConversation

In this example, the platform can determine whether the recommended userhad completed a biography associated with their account in anapplication or platform. A method as described herein can be used torecommend the user to another user. Here, the platform can determine ifcompletion of a biography is associated with matching of conversationbetween the two users.

To this end, the platform can assign each user B who was recommended asa match for one or more users A a score of 1 or 0, where 1 indicatedthat user B had completed the biography, and 0 indicated that user B hadnot completed the biography. Additionally, conversations that user B wasinvolved in with one of users A were assigned a score of 1 or 0, where 1indicates a good conversation and 0 indicates a bad conversation.

These values can be represented in a mosaic plot. An example of the datais shown in FIG. 26. The X axis indicates whether or not the user B hasa biography completed. The Y axis ranges from 0 to 1, and represents thefraction of the total number of conversations. The numbers inside eachsquare indicate the percentage of good conversations for a given user B.The red boxes indicate bad conversations, and the red boxes indicategood conversations. For example, for users B with a biography completed,53.9 percent of the conversations were good, based on the data set used.

In this example, the platform can determine that user B completing abiography is significantly linked to a good conversational outcome.

Example 7: Role of User Country in Determining Closeness of Conversation

In this example, the platform can determine the country of residence ofthe recommended user in an application or platform. A method asdescribed herein can be used to recommend a user to another user. Here,the platform can determine if the country of residence may be associatedwith matching of conversation between the two users.

To this end, the platform can determine for a plurality of users B, whohad been recommended to users A, what their countries of residence were,etc. Additionally, conversations that users B were involved in with oneof users A may be assigned a score of 1 or 0, where 1 indicated a goodconversation and 0 indicated a bad conversation.

These values can be represented in a mosaic plot, as shown in FIG. 27.The X axis indicates the country of origin of the users B, and includesUnited Arab Emirates, Australia, Canada, Great Britain, Ireland, NewZealand, the United States, and other countries. The Y axis ranges from0 to 1, and represents the fraction of the total number ofconversations. The red boxes indicate bad conversations, and the redboxes indicate good conversations.

From the data in this example, the platform can determine that for usersin most regions, country of residence has little impact on goodness ofconversation. However, the platform can also determine that for users Bin a certain region (e.g. New Zealand (NZ)), there may be significantlymore good conversations by percentage than for users B in othercountries.

Example 8: Heart Reactions are Linked to Top Users

Here, the platform can determine whether top users could be predicted bythe types of reactions they indicated in an app. A method as describedherein can be used to recommend a user to another user. To this end, theplatform can determine the match success from matching a user (on ascale of 0 to 1) compared with four metrics, where the four metrics wereaverage number of total reactions the user indicated per message, theaverage number of heart reactions the user indicated per message, theaverage number of Been-There reactions the user indicated per message,and the total number of insightful reactions the user indicated permessage.

The data can be plotted, and a Chi Squared analysis can be applied, anda logistic fit can be fitted to the data and drawn onto the plots, asshown in FIG. 28. Here, a steeper line of fit indicates that as themetrics on the x axis increase, the quality of the user also increases.For example, the data may indicate that users who use the heart reactionmore often on average are more likely to be a top user than a user whouses the heart reaction less often on average.

FIG. 22 illustrates the statistics of the match success of matches of asecond user to a first user, or how valuable the second user is as amatch. Included features may include, for example:

-   -   allMessageCountPerRoomUser2=the average of the total number of        messages a user posted per chat room that the user is active in,    -   firstReplyMinutesDelay=the typical amount of time it takes the        user to reply to a message in minutes,    -   groupMsgCountPerDaysWritingMsgsUser2=the average number of        messages posted in a chat room per day,    -   groupThreadRootMsgsFromGroupMsgsUser2=the total number of        threads the user started in a group,    -   HeartReactionPerMsgUser2=the total number of heart reactions        from the user,    -   groupQuestionsFromGroupMsgsUser2=the total number of questions        the user posed to a group,    -   totalReactionPerMsgUser2=the total number of times the user        reacted to another user,    -   mediaMsgsFromAllMsgsUser2=the total number of media messages as        a fraction of all messages the user sent,    -   personalMsgsFromAllMsgsUser2=the total number of personal        messages as a fraction of all messages the user sent,    -   topJourneyUser2=the most active journey the user is active in,    -   CopingwithDepressionStepsCountUser2=the number of steps the user        has traversed with regards to coping with depression,    -   hasBioUser2=whether or not the user has filled out a biography        or profile information,    -   stepPerJourneyUser2=the typical number of steps the user has        completed per journey,    -   AnxietyStepsCountUser2=the typical number of steps the user        indicates feeling anxious about,    -   allMsgCountPerDaysInAppUser2=the typical number of messages sent        in the app per day,    -   personalMsgLengthAvgUser2=the average length of personal        messages sent by the user,    -   BeenThereReactionPerMsgUser2=the total number of Been-There        reactions submitted by the user,    -   topMutualJourneyMutualSteps=the total number of mutual steps the        user shares with a matched user in the journey for which they        were matched,    -   PersonalMessageCountPerRoomUser2=typical number of messages the        user wrote in chat rooms they were in,    -   personalMessageCountPerDaysWritingMsgsUser2=the typical number        of messages the user wrote on days the user wrote messages,    -   PersonalQuestionsFromPersonalMsgsUser2=the total number of        personal questions the user asked in response to personal        messages,    -   genderUser2=the gender of the user,    -   CountryUser2=the country the user resides in,    -   isSameCountry=whether a matched user resides in the same country        as the user,    -   BeenThereReactionsFromAllReactionsUser2=the portions of all the        user's reactions which are of the type “Been-There”,    -   RelationshipAdviceStepsCountUser2=the total number of        relationship advice steps the user has traversed,    -   groupMsgCountPerDaysInAppUser2=the total number of group        messages the user participated in per day the user was logged        into the app,    -   InsightfulReactionPerMsgUser2=the typical number of insightful        reactions the user has for each user they are matched with,    -   PersonalRoomsFromAllRoomsUser2=the number of personal rooms the        user is in,    -   HeartReactionsFromAllReactionsUser2=the proportion of the user's        reactions which are heart reactions,    -   allMsgLengthAvgUser2=the typical message length of messages        written by the user,    -   BodyPositiveSpetsCoutUser2=the total number of body positive        steps the user has traversed, and    -   IsSameGender=whether or not the user is the same gender as the        user they are interacting with.

FIGS. 23A through 23C illustrate for a plurality of users thesuitability of that user as a match versus the average number of threadsthe user replied to (FIG. 23A), the suitability of that user as a matchversus the total number of threads the user started (FIG. 23B), and thegoodness of that user as a match versus the average number of threadsthe user started (FIG. 23C). A chi-square analysis is performed for eachdataset, and a fit representative of the suitability of match withincreasing horizontal axis value is shown.

FIG. 24 illustrates data representing importance of users sharing a topjourney when determining suitability of match. The platform can tallythe total number of conversations, total number of worst conversations,total number of top conversations, and the percentage of conversationswhich were top conversations. In this method, a higher percentage ofconversations which are top conversations is indicative that the journeyfor which the metric is calculated has a higher user matching successrate when both users share the journey as their top journey. The dataindicates that the heartbreak journey may rely heavily on the userssharing the journey as a top journey for a good match, while the bodypositive journey may rely least heavily on the users sharing the journeyas a top journey for a good match.

FIG. 25 illustrates the relationship between gender and conversationvalue. A comparison of male and female users with respect to which userstend to start more valuable conversations can be performed. In thisexample, the platform can tally the numbers and average lengths of suchconversations, and noted who initiated each conversation. The platformcan apply a chi square analysis, and determine that in this example,conversations initiated by a female and accepted by a male were twice asvaluable than conversations initiated by a male and accepted by afemale.

FIG. 26 shows the relationship between the completion of a biography andthe closeness of conversation between the two users. Thus, the platformcan assign each user B who was recommended as a match for one or moreusers A a score of 1 or 0, where 1 indicated that user B had completedthe biography, and 0 indicated that user B had not completed thebiography. Additionally, conversations that user B were involved in withone or more of users A were assigned a score of 1 or 0, where 1indicated a good conversation and 0 indicated a bad conversation. Thesevalues were represented in a mosaic plot as shown here. The Y axisranges from 0 to 1, and represents the fraction of the total number ofconversations. The numbers inside each square indicate the percentage ofconversations for a given user B score. The red boxes indicate badconversations, and the red boxes indicate good conversations. Forexample, for users B with a biography completed, 53.9 percent of theconversations were good, based on the data set used.

FIG. 27 shows the relationship between country of residence of therecommended user in an app. A method as described herein can be used torecommend a user to another user, and the closeness of conversationbetween two users. The X axis indicates the country of origin for aplurality of users B, and includes the United Arab Emirates, Australia,Canada, Great Britain, Ireland, New Zealand, the United States, andother countries. The Y axis ranges from 0 to 1, and represents thefraction of the total number of conversations. The red boxes indicatebad conversations, and the red boxes indicate good conversations.

FIG. 28 illustrates how user certain metrics may be used to describeuser value. Shown is an example of the values of a plurality of users(on a scale of 0 to 1) as a function of four metrics, where the fourmetrics are average number of total reactions the user indicated permessage, the average number of heart reactions the user indicated permessage, the average number of Been-There reactions the user indicatedper message, and the total number of insightful reactions the userindicated per message. The data can be plotted, and a Chi Squaredanalysis can be applied, and a logistic fit can be fitted to the dataand drawn onto the plots.

While preferred embodiments of the present invention have been shown anddescribed herein, it will be obvious to those skilled in the art thatsuch embodiments are provided byway of example only. It is not intendedthat the invention be limited by the specific examples provided withinthe specification. While the invention has been described with referenceto the aforementioned specification, the descriptions and illustrationsof the embodiments herein are not meant to be construed in a limitingsense. Numerous variations, changes, and substitutions will now occur tothose skilled in the art without departing from the invention.Furthermore, it shall be understood that all aspects of the inventionare not limited to the specific depictions, configurations or relativeproportions set forth herein which depend upon a variety of conditionsand variables. It should be understood that various alternatives to theembodiments of the invention described herein may be employed inpracticing the invention. It is therefore contemplated that theinvention shall also cover any such alternatives, modifications,variations or equivalents. It is intended that the following claimsdefine the scope of the invention and that methods and structures withinthe scope of these claims and their equivalents be covered thereby.

1-62. (canceled)
 63. A computer-implemented method for matching between two or more users of a plurality of users, the method comprising: receiving input data from a plurality of devices associated with the plurality of users, wherein the input data comprises information related to one or more life events, wherein each life event comprises one or more different steps on a timeline; analyzing the input data to determine, for each user and life event, which step(s) on the timeline each user (a) has experienced, (b) is currently experiencing, or (c) is likely to experience in the future; and matching the at least two users of the plurality of users, based on steps that each of the determined steps.
 64. The method of claim 63, wherein receiving the input data comprises crowdsourcing the input data from the users.
 65. The method of claim 63, wherein matching the two or more users comprises comparing the users to one another based on steps on individual timelines of each user.
 66. The method of claim 63, wherein matching the two or more users comprises at least one of: (a) matching a first user, who is likely to experience a selected step on the timeline in the future with a second user, who has already experienced the selected step; (b) matching a first user, who has already experienced a selected step on the timeline for a life event with a second user, who has also already experienced the selected step; and (c) matching a first user, who is likely to experience a selected step on the timeline for a life event with a second user, who is also likely to experience the selected step.
 67. The method of claim 66, further comprising at least one of: providing a recommendation to the first user to connect with the second user and obtain insights about the selected step from the second user; providing a recommendation to the second user to connect with the first user to share insights about the selected step with the first user; and providing a recommendation to the first and second users to connect with one another in relation to the selected step.
 68. The method of claim 67, further comprising: providing an electronic interface for enabling the first and second users to connect with one another, wherein the electronic interface is adapted to execute an application, configured to allow the first and second users to share one or more data elements pertaining to a selected step on a timeline of a life experience with one another, and wherein shared one or more data elements are selected from a list consisting of: comments, insights or experiences about the selected step.
 69. The method of claim 68, further comprising: monitoring at least one of a duration, a level and a frequency of communication between the first user and the second user.
 70. The method of claim 68, wherein the application is configured to perform at least one of: allow the first and second users to add additional comments, insights or experiences about the selected step or other steps on the timeline for the life event; allow the first user to view the second user's experiences relating to the selected event, if the second user has already experienced the selected event; allow the first and second users to view each other's experiences relating to the selected event, if both the first and second users have already experienced the selected event; allow the first user to view the second user's timeline and steps, and/or the second user to view the first user's timeline and steps; allow the first user to view changes to the second user's timeline as the second user undergoes the life event, or allow the second user to view changes to the first user's timeline as the first user undergoes the life event; and allow the first and second user to view changes to each other's timeline as the first and second users respectively undergo the life event.
 71. The method of claim 67, wherein the recommendation to the first user comprises a first suggested conversation starter to connect with the second user, and the recommendation to the second user comprises a second suggested conversation starter to connect with the first user.
 72. The method of claim 71, wherein the first suggested conversation starter is personalized for the first user, and wherein the second suggested conversation starter is personalized for the second user.
 73. The method of claim 66, further comprising: (1) matching the second user with a first group of users who are likely to experience the selected step, and (2) matching the first user with a second group of users who have already experienced the selected step.
 74. The method of claim 73, further comprising: providing an electronic interface or platform configured to allow (1) the first user to connect with one or more users from the second group, and/or (2) the second user to connect with one or more users from the first group.
 75. The method of claim 63, wherein matching the plurality of users with one another comprises, for each life event: generating, for a first user, a plurality of scores relative to a second user, wherein the first and second users are undergoing the same life event; using the plurality of scores to determine a level of match of the second user to the first user; and determining whether to provide a recommendation of the second user to the first user based on the level of match.
 76. The method of claim 75, wherein the plurality of scores comprises a first score based on (i) a first set of steps experienced by the first user and (ii) a second set of steps experienced by the second user.
 77. The method of claim 76, wherein the plurality of scores comprises a second score based on (i) a first set of steps experienced by the first user and (ii) a second set of steps that the second user is following and likely to experience.
 78. The method of claim 77, wherein the plurality of scores comprises a third score based on (i) a first set of steps that the first user is following and likely to experience and (ii) a second set of steps that are experienced by the second user.
 79. The method of claim 78, wherein the plurality of scores comprises a fourth score that is based on (i) first set of steps that the first user is following and likely to experience and (ii) a second set of steps that the second user is following and likely to experience.
 80. The method of claim 79, wherein the first score is calculated based on a percentage of (a) a number of common steps between the first and second sets of steps over (b) a number of steps in the first set for the first user, and wherein the second score is calculated based on a percentage of (a) a number of common steps between the first and second sets of steps over (b) a number of steps in the first set for the first user, and wherein the third score is calculated based on a percentage of (a) a number of common steps between the first and second sets of steps over (b) a number of steps in the first set for the first user, and wherein the fourth score is calculated based on a percentage of (a) a number of common steps between the first and second sets of steps over (b) a number of steps in the first set for the first user.
 81. A computer-implemented system for matching between a plurality of users, comprising: a server in communication with a plurality of devices associated with the plurality of users; and a non-transitory computer-readable memory associated with the server, wherein computer-readable instructions are stored, that, when executed by the server, cause the server to perform operations comprising: receiving input data from the plurality of devices, wherein the input data comprises queries, comments or insights from different users relating to the one or more life events, wherein each life event comprises a plurality of different steps on a timeline; analyzing the input data to determine, for each user and life event, which steps on the timeline that each user (a) has experienced, (b) is currently experiencing, or (c) likely to experience in the future; and matching the plurality of users with one another, based on the life events and the steps that the users have experienced, are currently experiencing, or likely to experience in the future, in order to assist the users in navigating one or more life events.
 82. A computer-implemented method for matching between two or more users of a plurality of users, the method comprising, including: crowdsourcing input data from a plurality of devices associated with the plurality of users, the input data comprising information pertaining to steps in a timeline of a significant life transition (SLT); analyzing the input data, using a neural network (NN), to cluster the steps in one or more SLTs; and producing at least one recommendation data element, based on the cluster of the steps, wherein the at least one recommendation data element comprises a recommendation for a first user of the plurality of users, to connect to one or more second users of the plurality of users.
 83. The method of claim 82, wherein analyzing the input data comprises: applying an artificial intelligence predictive algorithm, to discover connections between the steps; receiving, from one or more users, user input metrics pertaining to their experience of one or more steps; and determining the location of one or more users on a timeline of an SLT according to said discovered connections and received user input metrics.
 84. The method of claim 83, further comprising: determining the location of the first user on a timeline of an SLT; determining the location of the one or more second users on a timeline of an SLT; and generating, for the first user, one or more user matching scores in respect to each of the one or more second users, wherein producing the at least one recommendation data element for the first user is performed based on the one or more user matching scores of the one or more second users.
 85. The method of claim 84, further comprising receiving at least one helpfulness data element, pertaining to the one or more second users, said data element selected from a list consisting of: an activity level of the one or more second users, helpfulness of the one or more second users to users other than the first user, a match of persona type between the one or more second users and the first user, community feedback pertaining to the one or more second users, a language used by the one or more second users, and a track record of the one or more second users, and wherein generating the one or more user matching scores is further based on said received helpfulness data element.
 86. The method of claim 82, wherein crowdsourcing the input data comprises receiving, from the plurality of users, one or more data elements comprising at least one of an online social interaction, a question, an answer, a comment, and an insight pertaining to an SLT, wherein said one or more data elements are selected from a list consisting of: a text data element, an audio data element, a video data element, and a photograph.
 87. The method of claim 86, wherein crowdsourcing the input data further comprises analyzing the one or more received data elements using a natural language processing (NLP) algorithm to obtain information pertaining to steps in a timeline of an SLT. 